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.
-
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 !
Si vous voulez tester le tout, télécharger l’exemple (sans oublier d’activer les macros !)
Tags: excel, tips excel, vba Posted in


décembre 10th, 2008 at 9:30
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
décembre 10th, 2008 at 10:05
explique ton problème,
je peux peut être t’aider
Loic
avril 30th, 2010 at 13:52
Bien dit lol !jtrouve ton blog est pas mal j’aime bien tes articles A bientot