OVH Cloud OVH Cloud

effacer premier caractere

8 réponses
Avatar
Michel
Bonjour,

Je suis un novice, j'aimerai effacer soit le premier caractere dans chaque
cellule de la ligne 5 soit effacer ce premier caractere qui est une minuscule.

Quelqu'un pourrait-il m'aider avec cette macro?

8 réponses

Avatar
Daniel
Bonjour.
Je n'ai pas compris la différence entre les deux options (affacer quand le
caractère est une miniscule ?). Pour un effacement systématique :
Sub test()
Dim c As Range
For Each c In Range("5:5")
If Len(c) > 0 Then
c.Value = Right(c.Value, Len(c) - 1)
End If
Next
End Sub
Cordialement.
Daniel
"Michel" a écrit dans le message de news:

Bonjour,

Je suis un novice, j'aimerai effacer soit le premier caractere dans chaque
cellule de la ligne 5 soit effacer ce premier caractere qui est une
minuscule.

Quelqu'un pourrait-il m'aider avec cette macro?


Avatar
JB
For Each c In Cells(5, 1).Resize(1, 255)
If c.Value <> "" Then c.Value = Mid(c.Value, 2)
Next c


JB


Bonjour,

Je suis un novice, j'aimerai effacer soit le premier caractere dans chaque
cellule de la ligne 5 soit effacer ce premier caractere qui est une minus cule.

Quelqu'un pourrait-il m'aider avec cette macro?


Avatar
Michel
Merci, ca marche mais en fait y a un petit soucis, d'où le fait de ne vouloir
effacer que les caractères minuscules.

Je vous explique: j'ai dans mes colonnes, les champs suivants:
DAT -- AST -- ARS -- DMIS

Avant de faire mon tableau croisé dynamique, j'ai mis une lettre devant pour
que les colonnes apparaissent dans l'ordre voulu. Suite au tableau dynamqie,
j'aimerai que le petit "a" devant DAT, le petit "b" devant AST etc... soit
effacé.

Merci encore pour la vitesse à laquelle vous avez répondu.



For Each c In Cells(5, 1).Resize(1, 255)
If c.Value <> "" Then c.Value = Mid(c.Value, 2)
Next c


JB


Bonjour,

Je suis un novice, j'aimerai effacer soit le premier caractere dans chaque
cellule de la ligne 5 soit effacer ce premier caractere qui est une minuscule.

Quelqu'un pourrait-il m'aider avec cette macro?






Avatar
Michel
Bon en fait j'ai repris ta procédure, merci encore et j'ai modifié le test
sur la longueur, de 0 à 3. Ca marche mais si tu peux m'aider pour ne faire
effacer que les minuscules, ce serait le top car je vais pouvoir mettre ceci
dans plusieurs macro que je dois encore faire.

Merci encore.
Michel


Bonjour.
Je n'ai pas compris la différence entre les deux options (affacer quand le
caractère est une miniscule ?). Pour un effacement systématique :
Sub test()
Dim c As Range
For Each c In Range("5:5")
If Len(c) > 0 Then
c.Value = Right(c.Value, Len(c) - 1)
End If
Next
End Sub
Cordialement.
Daniel
"Michel" a écrit dans le message de news:

Bonjour,

Je suis un novice, j'aimerai effacer soit le premier caractere dans chaque
cellule de la ligne 5 soit effacer ce premier caractere qui est une
minuscule.

Quelqu'un pourrait-il m'aider avec cette macro?







Avatar
Daniel
Essaie :
Sub test()
Dim c As Range
For Each c In Range("5:5")
If Len(c) > 0 And LCase(c) = c Then
c.Value = Right(c.Value, Len(c) - 1)
End If
Next
End Sub
Daniel
"Michel" a écrit dans le message de news:

Bon en fait j'ai repris ta procédure, merci encore et j'ai modifié le test
sur la longueur, de 0 à 3. Ca marche mais si tu peux m'aider pour ne faire
effacer que les minuscules, ce serait le top car je vais pouvoir mettre
ceci
dans plusieurs macro que je dois encore faire.

Merci encore.
Michel


Bonjour.
Je n'ai pas compris la différence entre les deux options (affacer quand
le
caractère est une miniscule ?). Pour un effacement systématique :
Sub test()
Dim c As Range
For Each c In Range("5:5")
If Len(c) > 0 Then
c.Value = Right(c.Value, Len(c) - 1)
End If
Next
End Sub
Cordialement.
Daniel
"Michel" a écrit dans le message de
news:

Bonjour,

Je suis un novice, j'aimerai effacer soit le premier caractere dans
chaque
cellule de la ligne 5 soit effacer ce premier caractere qui est une
minuscule.

Quelqu'un pourrait-il m'aider avec cette macro?









Avatar
Nicolas B.
Salut,

Je ferais plutôt :

Sub test()
Dim c As Range
For Each c In Range("5:5")
If Len(c) > 0 Then
If LCase(Left(c, 1)) = Left(c, 1) Then
c.Value = Right(c.Value, Len(c) - 1)
End If
End If
Next
End Sub

(Teste juste si le premier caractère est une minuscule.)


A+
Nicolas B.

Essaie :
Sub test()
Dim c As Range
For Each c In Range("5:5")
If Len(c) > 0 And LCase(c) = c Then
c.Value = Right(c.Value, Len(c) - 1)
End If
Next
End Sub
Daniel
"Michel" a écrit dans le message de news:

Bon en fait j'ai repris ta procédure, merci encore et j'ai modifié le test
sur la longueur, de 0 à 3. Ca marche mais si tu peux m'aider pour ne faire
effacer que les minuscules, ce serait le top car je vais pouvoir mettre
ceci
dans plusieurs macro que je dois encore faire.

Merci encore.
Michel




Avatar
Michel
Voici ce que j'ai, mais cà ne marche pas.

Sub Test()
Dim c As Range
For Each c In Range("D5:AJ5")
If Len(c) > 3 And LCase(c) = c Then
c.Value = Right(c.Value, Len(c) - 1)
End If
Next
End Sub




Essaie :
Sub test()
Dim c As Range
For Each c In Range("5:5")
If Len(c) > 0 And LCase(c) = c Then
c.Value = Right(c.Value, Len(c) - 1)
End If
Next
End Sub
Daniel
"Michel" a écrit dans le message de news:

Bon en fait j'ai repris ta procédure, merci encore et j'ai modifié le test
sur la longueur, de 0 à 3. Ca marche mais si tu peux m'aider pour ne faire
effacer que les minuscules, ce serait le top car je vais pouvoir mettre
ceci
dans plusieurs macro que je dois encore faire.

Merci encore.
Michel


Bonjour.
Je n'ai pas compris la différence entre les deux options (affacer quand
le
caractère est une miniscule ?). Pour un effacement systématique :
Sub test()
Dim c As Range
For Each c In Range("5:5")
If Len(c) > 0 Then
c.Value = Right(c.Value, Len(c) - 1)
End If
Next
End Sub
Cordialement.
Daniel
"Michel" a écrit dans le message de
news:

Bonjour,

Je suis un novice, j'aimerai effacer soit le premier caractere dans
chaque
cellule de la ligne 5 soit effacer ce premier caractere qui est une
minuscule.

Quelqu'un pourrait-il m'aider avec cette macro?














Avatar
Michel
Voici ma fonction finale et ca marche.

Merci beaucoup a vous.
Sub test()
Dim c As Range
For Each c In Range("D5:AJ5")
If Len(c) > 3 Then
If LCase(Left(c, 1)) = Left(c, 1) Then
c.Value = Right(c.Value, Len(c) - 1)
End If
End If
Next
End Sub


Salut,

Je ferais plutôt :

Sub test()
Dim c As Range
For Each c In Range("5:5")
If Len(c) > 0 Then
If LCase(Left(c, 1)) = Left(c, 1) Then
c.Value = Right(c.Value, Len(c) - 1)
End If
End If
Next
End Sub

(Teste juste si le premier caractère est une minuscule.)


A+
Nicolas B.

Essaie :
Sub test()
Dim c As Range
For Each c In Range("5:5")
If Len(c) > 0 And LCase(c) = c Then
c.Value = Right(c.Value, Len(c) - 1)
End If
Next
End Sub
Daniel
"Michel" a écrit dans le message de news:

Bon en fait j'ai repris ta procédure, merci encore et j'ai modifié le test
sur la longueur, de 0 à 3. Ca marche mais si tu peux m'aider pour ne faire
effacer que les minuscules, ce serait le top car je vais pouvoir mettre
ceci
dans plusieurs macro que je dois encore faire.

Merci encore.
Michel