Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment effacer virgule en début de cellules

7 réponses
Avatar
cjoly
Bonjour,

J'ai r=E9cup=E9r=E9 un tableau excel 2002 dans lequel il y a un grand
nombre de cellules d=E9butant par", " (virgule espace). Comment puis-je
enlever ", " (virgule espace) sans pour autant effacer les autres
virgules ou espaces dans la cellule.

Remerciements et sinc=E8res salutations.

Christophe

7 réponses

Avatar
Rai
Bonjour,

J'ai récupéré un tableau excel 2002 dans lequel il y a un grand
nombre de cellules débutant par", " (virgule espace). Comment puis-je
enlever ", " (virgule espace) sans pour autant effacer les autres
virgules ou espaces dans la cellule.

Remerciements et sincères salutations.

Christophe

Bonjour,


2 cas de figure :

- soit tu utilises la commande Edition/Remplacer
où tu remplace ", " par rien
cela t'enlevera les ", " partout mais pas le , ou les espaces seuls ou
dans une autre configuration.
par contre cela t'enlevera aussi les ", " à l'intérieur de chaines -->
"bonjour, il fait..." deviendra "bonjouril fait"

- soit tu passes par une macro.
Celle-ci pourrait être
Sub effacevirgule()
For Each c In ActiveSheet.UsedRange
If c = ", " Then c.Clear
Next c
End Sub


Cela convient-il ?

Cordialement

Rai

Avatar
Christophe
Merci Rai,

En effet je ne souhaite pas effacer ", " à l'intérieur de chaines
mais uniquement lorsque ", " sont les deux premiers caratères de la
cellule.
Comment modifier ta macro pour que ceci soit pris en compte?

Remerciements.

Christophe
Avatar
JB
Bonjour,

Sélectionner le champ puis:

Sub essai
For Each c In Selection
If Left(c.Value, 2) = ", " Then c.Value = Mid(c.Value, 3)
Next c
End sub

Cordialement JBJB
Avatar
Ardus Petus
Sub effacevirgule()
For Each c In ActiveSheet.UsedRange
If Left(c.Value, 2) = ", " Then _
c.Value = Right(c.Value, Len(c.Value) - 2)
Next c
End Sub


Cordialement,
--
AP

"Christophe" a écrit dans le message de
news:
Merci Rai,

En effet je ne souhaite pas effacer ", " à l'intérieur de chaines
mais uniquement lorsque ", " sont les deux premiers caratères de la
cellule.
Comment modifier ta macro pour que ceci soit pris en compte?

Remerciements.

Christophe
Avatar
Christophe
Merci Ardus. C'est + que parfait.

Très sincères salutations.

Christophe
Avatar
Christophe
Merci de ta réponse JB

Remerciements et sincères salutations.

Christophe
Avatar
Spectre
Oupf, je n'avais pas vu que la recherche se fasisait sur les deux
premiers carctères

Option Explicit
Sub efface_premier_caractere() ' efface le premier carctère si c'est
une

Dim cel As Range
Dim leftv As String 'premier carctère à gauche
Dim Lenc As Integer ' nbre de carctères dans la châine
Dim newCel As String ' nouvelle chaîne
Dim caract As String ' caractère à trouver
Dim lenCaract As Integer

caract = ",," ' définit le catctère à trouver. ici ","
lenCaract = Len(caract) 'nombre de caractères dans caract

For Each cel In ActiveSheet.UsedRange
cel = Trim(cel) ' supprime les espaces avant et
après
Lenc = Len(cel) ' longueur de cel
leftv = Left(cel, lenCaract) ' trouve le premier
carctère de cel
If leftv = caract Then ' test le premier
carctère à trouver
newCel = Right(cel, (Lenc - lenCaract)) '
récupère la chaine sans le premier carcatère
cel.Activate ' active cel en
écriture
cel = newCel ' copie la nouvelle chaine
End If
newCel = ""
Next cel
End Sub


Bonjour,

J'ai récupéré un tableau excel 2002 dans lequel il y a un grand
nombre de cellules débutant par", " (virgule espace). Comment puis-je
enlever ", " (virgule espace) sans pour autant effacer les autres
virgules ou espaces dans la cellule.

Remerciements et sincères salutations.

Christophe