supprimer des espace

A

Alec

Guest
Bonjour à tous,

Voilà, je voudrais supprimer tous les espaces présent sur une plage de données contenant des nombres afin de pouvoir effectuer des calculs sur ceux ci.

Pour simplifier j'ai plusieur feuilles contenant d'immenses tableaux dans lequels je dois aller piocher les données qui m'intéresse. Jusque là pas de problème: avec la fonction rechercheV.

Par contre, les nombres contenus dans les cellules sont séparés par des espaces simples. La fonction ESPACESUP, ne supprimant que les espaces excédentaire, s'avère inefficace.

En deux mots

Help me.

Alec
 
K

K@d

Guest
Salut,

tu peux utiliser un petit code VBA du type :

activecell.value=trim(activecell.value)

La fonction trim sous VBA supprime correctement tous les espaces superflus...

Pour étendre ce code à une plage de cellule, créer une macro coome suit :

Sub Supprimer_Espaces

Dim Vcell as object

For each vcell in selection

vcell.value=trim(vcell.value)

next vcell

Il te suffit de sélectionner toutes tes cellules et d'éxécuter la macro.

Hope this can help ! ;0)

Clément
 
A

Alec

Guest
Re,

Merci pour votre aide...

Cependant aucunes de ces deux méthodes ne fonctionnent.

Plus précisemmment :
1erment, Mes compétences en VBA se limite à copier/coller la formule du forum, appuyer sur play et espérer qu'un miracle se produise...

2èment, j'ai essayé ta solution Monique. Mais les espaces ne sont pas supprimés et les valeur ne sont pas numérique.

Ma question étant : cela peut-il être du à configuration quelconque ou je ne sait quoi....?

Je suis au boulot, je m y cole depuis ce matin et j'ai envie de me tirer une balle...

Dans tous les cas merci pour votre réactivité.

Cordialement


Alec
 
A

Alec

Guest
INFOS complémentaire

Je viens de faire des assais en rajoutant des espaces manuellement. En effet la fonction substitue foncionne. Mais uniquement pour les espaces que j'ai rajouté mais en ce qui concerne les espaces déjà existant rien à faire.
Ou alors ce ne sont pas des espaces mais quoi...

Alec
 
M

Monique

Guest
Re,

Oui, 160, ça doit être bon
Il y a eu un post là-dessus, je ne le retrouve pas.
Il doit donc s'agir de "caractères invisibles"
Mais tous les caractères, invisibles ou pas, ont un code.
Le code de "A" est 65, celui de "a" est 97

=CODE(A1) te renvoie le code du premier caractère de la cellule A1
=CAR(65) te renvoie "A"

=CAR(32) semble donner le "vrai" espace
=CAR(160) laisse une cellule qui a l'air vide.
mais la formule =ESTVIDE(D22) renvoie "FAUX"
Fais un essai avec cette formule :
=SUBSTITUE(SUBSTITUE(A1;" ";);CAR(160);)

Tu peux l'imbriquer avec Recherchev :
=SUBSTITUE(SUBSTITUE(RECHERCHEV(E1;A1:B20;2;0);" ";);CAR(160);)
 

Discussions similaires