Supprimer les espaces en trop sur Excel !


Il est toujours (très) embettant de faire une RECHERCHE V dans excel et de ne pas trouver les valeurs ! Alors qu’on est certain qu’elles s’y trouvent ! À la place on se retrouve avec un #N/A qui nous nargue !

Je ne sais pas si changer la formule change quelque chose, par exemple en remplaçant le FAUX de ( RECHERCHEV(valeur;zone de recherche;colonne de la valeur à afficher;FAUX (valeur exacte) / VRAI (valeur approchée)) ) car moi à chaque tentative le VRAI dans la fonction m’a retournée des valeurs étranges !

Bref pas de méthode miracle, mais la possibilité de retoucher un peu le texte en supprimant par exemple les espaces qui nous gènent ! Je m’explique ; la fonction de recherche va faire une recherche sur les correspondances EXACTES dans la table ou elle s’execute. Il faut donc faire en sorte que les fichiers soient le plus exactes possible

Pour cela on peut retirer les espaces qui rendent la recherche impossible. Alors rien de tel qu’une macro toute bête pour nous mâcher le travail.

  1. Sub supprimerespaces()
  2. ‘on déclare les variables
  3. Dim nbval, val As Variant
  4. ‘on sélectionne la cellule dans laquelle on a mis la petite formule =NBVAL(colonne) qui va nous permettre de savoir combien de données on a dans cette colonne.
  5. nbval = Range("D1")
  6.  
  7. ‘on fait une boucle sur la totalité des valeurs
  8. For i = 2 To nbval
  9.     ‘on prend la valeur de la celulle
  10.     val = Cells(i, 1)
  11.     ‘on modifie cette cellule avec la fonction TRIM qui retire les espaces en début et en fin de chaine
  12.     val = Trim(val)
  13.     ‘on re-selectionne la même cellule
  14.     Cells(i, 1).Select
  15.     ‘on colle la valeur précédemment modifiée
  16.     ActiveCell.Formula = val
  17. ‘et on continue la boucle !
  18. Next i
  19. End Sub
  20.  

tout simple non ! Mais ça ne marche que sur les espaces de début et de fin de chaine et uniquement sur des caractères ; pas sur des nombres !

Si vous voulez tester le tout, télécharger l’exemple (sans oublier d’activer les macros !)

Tags: , ,   Posted in Non classé, excel

  • Créer un annuaire en excel avec une base de donnée SQL
  • Passer en mode DEVELOPPEUR sur Excel !
  • Excel : Évitez les crises d’épilepsie !
  • Se connecter à L’iphone en USB sur PC - Tutoriel Iphone Tunnel Suite
  • Réaliser et comprendre les sélections en VBA !
  • 3 réponses pour l'article “Supprimer les espaces en trop sur Excel !”

    1. JOSE Says:

      Il est toujours (très) embettant de faire une RECHERCHE V dans excel et de ne pas trouver les valeurs ! Alors qu’on est certain qu’elles s’y trouvent ! À la place on se retrouve avec un #N/A qui nous nargue !

      Je ne sais pas si changer la formule change quelque chose, par exemple en remplaçant le FAUX de ( RECHERCHEV(valeur;zone de recherche;colonne de la valeur à afficher;FAUX (valeur exacte) / VRAI (valeur approchée)) ) car moi à chaque tentative le VRAI dans la fonction m’a retournée des valeurs étranges !

      Bref pas de méthode miracle, mais la possibilité de retoucher un peu le texte en supprimant par exemple les espaces qui nous gènent ! Je m’explique ; la fonction de recherche va faire une recherche sur les correspondances EXACTES dans la table ou elle s’execute. Il faut donc faire en sorte que les fichiers soient le plus exactes possible

      Pour cela on peut retirer les espaces qui rendent la recherche impossible. Alors rien de tel qu’une macro toute bête pour nous mâcher le travail.
      Sub supprimerespaces()
      ‘on déclare les variables
      Dim nbval, val As Variant
      ‘on sélectionne la cellule dans laquelle on a mis la petite formule =NBVAL(colonne) qui va nous permettre de savoir combien de données on a dans cette colonne.
      nbval = Range(”D1″)

      ‘on fait une boucle sur la totalité des valeurs
      For i = 2 To nbval
      ‘on prend la valeur de la celulle
      val = Cells(i, 1)
      ‘on modifie cette cellule avec la fonction TRIM qui retire les espaces en début et en fin de chaine
      val = Trim(val)
      ‘on re-selectionne la même cellule
      Cells(i, 1).Select
      ‘on colle la valeur précédemment modifiée
      ActiveCell.Formula = val
      ‘et on continue la boucle !
      Next i
      End Sub

      tout simple non ! Mais ça ne marche que sur les espaces de début et de fin de chaine et uniquement sur des caractères ; pas sur des nombres !

      PEUT ON DONNER DES EXPLICATIONS SUPPLEMENTAIRES CAR CELA NE MARCHE PAS
      MERCI

    2. Loic Says:

      explique ton problème,

      je peux peut être t’aider

      Loic

    3. viviz32 Says:

      Bien dit lol !jtrouve ton blog est pas mal j’aime bien tes articles A bientot

    Laisser un commentaire

    Votre commentaire :