Effacer les espaces au début d'une cellule

S

Sandra

Guest
Bonjour,

Je cherche le moyen d'effacer les espaces au début d'une cellule.
Lorsque je sauvegard un de mes fichiers de HTML vers Excel, il garde un espace davant mes chiffres (et ce à chaque cellule).
Je connais la fonction convertir, je connais la formule supprespace.... mais je cherche quelque chose que je pourrai surligner toute la feuille et que toutes les espaces en début de cellule s'effaceront.

J'ai essayé la fonction remplacer (remplace l'espace par "rien"), mais ca ne fonctionne pas!

Merci à l'avance
Sandra
 
P

Papaye

Guest
Bonjour,

le souci vient que ton espace n'est pas un espace (code chr$ 32) ... mais surement un autre code.

Il faut donc voir quel code est placé avant ta cellule et le remplacer par une macro
Selection.Replace What:=chr(ton code de caractère) Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False

Papaye
 
A

andré

Guest
Salut Sandra,

Probablement que l'espace n'est pas un CAR(32), mais bien un CAR(160).

Si tu as un de ces espaces en cellule A1 (par exemple) tu peux le tester en tapant quelque part la formule : =CODE(GAUCHE(A1;1))
Tu obtiendras un nombre comme réponse.

Puis tu sélectionnes toute ta plage et tu fais un Remplacer CAR(le nombre que la formule a renvoyé ) par : rien (tu laisses vide) / OK

Si cela ne fonctionne pas essaie la même procédure en plaçant un 0 devant le nombre.

Si tu n'as pas encore le résultat escompté, fais la même chose mais en tapant Alt+0 et le nombre.

Si aucune de ces solutions ne fonctionne, il ne restera plus qu'à mettre un petit exemple en pièce jointe.

Ândré.
 
@

@+Thierry

Guest
Re: Effacer les espaces au début d'une cellule (VBA / LTrim)

Bonjour Ândré, Papaye, Sandra, le Forum

Profitant de quelques minutes, j'en profite pour saluer mon compatriote et je propose une solution par VBA, en s'appuyant sur la Function VB "LTrim".

  Sub RunLTrim()
  Dim Cell As Range

      For Each Cell In ActiveSheet.UsedRange
         Cell = LTrim(Cell)
      Next

  End Sub

Explication et portée[/url]
Ce code, placé dans un module standard VBA, lorsque qu'il sera éxecuté, enlèvera tous les espaces situés en début du texte (à gauche) de chaque cellule de la feuille active.

A noter :
RTrim(String) pour supprimer les espaces situés en fin de chaine de caractères (à Droite)
Trim(string) Pour supprimer les espaces situés au Début et en Fin en fin de chaine de caractères...


Bon après midi
@+Thierry
 
S

Sandra

Guest
Re: Effacer les espaces au début d'une cellule (VBA / LTrim)

Merci à Vous tous!

Mais je ne comprend pas le fonctionnement...
Ce qui semble rapprocher le plus ce que je veux, c'est la solution VBA, mais je ne connais rien dans tout ca!

J'ai essayé de créer une macro, mais elle ne fonctionne pas.

J'ai fait Outil, Visual Basic, ensuite exécution , mode création. Ensuite, j'ai copié le texte que Thierry à écrit et j'ai enregistré..

Mais ca ne change rien dans mes cellules....

je vous envoie un fichier avec un exemple des espaces devant les chiffres.

Merci à vous
 

Pièces jointes

  • exempleespace.zip
    4.3 KB · Affichages: 64
@

@+Thierry

Guest
Re Bonjour Sandra, Ândré, Papaye, le Forum

Bien à Toi, Beer Drinker Friend!!!

Pour Sandra, Ândré avait bien vu... Dans ton cas sur ton fichier, il s'agit du Chr(160) et la fonction Trim ne l'éradique pas...

Alors voici un autre code :

Sub RunSubstitute()
Dim Cell As Range


    For Each Cell In ActiveSheet.UsedRange
       Cell = Application.WorksheetFunction.Substitute(Cell, Chr(160), "")
    Next

End Sub

Code à placer dans un module standard

Mode d'Emploi

Par les Menus d'Excel :
   => Outils
      => Macro
       => Visual Basic Editeur

Puis dans les Menus de Visual Basic Editor (VBE)
   => Insertion
     => Module

Dans ce nouveau module copier / coller ce code.

Puis retourner dans Excel activer la feuille à traiter puis Menu
   => Outils
     => Macro
       => Macros
         => Sélectionner "RunSubstitute"
           => Puis bouton Exécuter...


Voilà ce devrait marcher, tes chiffres redeviendront des chiffres... Pour affecter un bouton à cette macro, faire une recherche dans ce Forum "Bouton Affecter Macro" ...

Bonne fin d'aprèm
@+Thierry
 
@

@+Thierry

Guest
Bonjour Sandra, Ândré, le Forum

Arf, Ândré, tu m'a donné soif sur ce coup là ! lol et hop une bonne Duvel Verte !

Pour Sandra, je ne comprends pas ton message il me sort toujours une erreur. ca me dit qu'il manque une " ' "

Si tu as bien copié/collé le code :


Cell = Application.WorksheetFunction.Substitute(Cell, Chr(160), "")

A la fin, avant la fermeture de parenthèse, il s'agit de Deux Doubles Guillements (Minuscule de la touche 3) et NON PAS de simples apostophes Minuscule de la touche 4)...


Pour apprendre, il y a l'aide VBA (touche F1 depuis VBE)... Il y a aussi ce forum avec pas mal de démos à télécharger...

Bon Courage
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 360
Membres
103 529
dernier inscrit
moket07