VBA excel
Sorrow
-
Sorrow -
Sorrow -
Bonjour,
Je débute sur le vba.
J'ai un tableau excel, dans chaque colonne il y a des caractère ou non, et je voudrais donc dire que :
tant que dans les cellules de cette colonne le nombre de caractère est inférieur a 12(ou autre) ajouter un zéro ou espace a la fin de la chaine de caractère.
exemple
colonne A
15554
1546443
1148964
18463613
46468
facture
4186468
je voudrais qu'il y ai max 12 caractère donc remplacer la suite par 0
sa donnerai :
155540000000
154644300000
114896400000
184636130000
464680000000
000000000000
facture00000
418646800000
Voila j'espère que vous comprendrais
merci d'avance,
Je débute sur le vba.
J'ai un tableau excel, dans chaque colonne il y a des caractère ou non, et je voudrais donc dire que :
tant que dans les cellules de cette colonne le nombre de caractère est inférieur a 12(ou autre) ajouter un zéro ou espace a la fin de la chaine de caractère.
exemple
colonne A
15554
1546443
1148964
18463613
46468
facture
4186468
je voudrais qu'il y ai max 12 caractère donc remplacer la suite par 0
sa donnerai :
155540000000
154644300000
114896400000
184636130000
464680000000
000000000000
facture00000
418646800000
Voila j'espère que vous comprendrais
merci d'avance,
A voir également:
- VBA excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
Salut !
Les zéros doivent être derrière obligatoirement car sinon tu sélectionne ta colonne est tu fais clic-droit en sélectionnant format de la cellule,
Ensuite tu choisis Personnalisé et tu met dans Type : 000000000000
Dis-moi si ça te convient
Les zéros doivent être derrière obligatoirement car sinon tu sélectionne ta colonne est tu fais clic-droit en sélectionnant format de la cellule,
Ensuite tu choisis Personnalisé et tu met dans Type : 000000000000
Dis-moi si ça te convient
Voili Voilou :
En considérant que ta colonne de numéro de facture est la colonne B ;)
moins le quart : RICARD, moins 10 : PASTIS
Membre fondateur du FJH
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Left(Target.Address, 2) = "$B" And Target.Address <> "$B:$B" Then Target.Value = Left(Target.Value & "000000000000", 12) End If End Sub
En considérant que ta colonne de numéro de facture est la colonne B ;)
moins le quart : RICARD, moins 10 : PASTIS
Membre fondateur du FJH
Merci beaucoup de ton aide, j'ai juste remarqué que si la cellule est vide il y a qu'un zéro et non 12.
J'ai essayé de comprendre le code mais j'avoue que j'ai du mal si tu peux m'éclairer un peut,
car si je voudrais changer de colonne ou le nombre de zéro, j'ai essaye mais sans grande réussite :/
Merci d'avance,
J'ai essayé de comprendre le code mais j'avoue que j'ai du mal si tu peux m'éclairer un peut,
car si je voudrais changer de colonne ou le nombre de zéro, j'ai essaye mais sans grande réussite :/
Merci d'avance,
Merci c'est magique :)
Si jamais je veux mettre la colonne A et changer le nombre de 0 sur le code sa donnerai ça ?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Left(Target.Address, 2) = "$A" And Target.Address <> "$A:$A" Then
Target.Value = Left(Target.Value & "00000000", 8)
End If
End Sub
Merci.
Si jamais je veux mettre la colonne A et changer le nombre de 0 sur le code sa donnerai ça ?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Left(Target.Address, 2) = "$A" And Target.Address <> "$A:$A" Then
Target.Value = Left(Target.Value & "00000000", 8)
End If
End Sub
Merci.
Il faudrait faire une boucle sur chaque cellule d'une colonne (A1 jusqu'à A150) qui ajoute un 0 a la fin de la chaine de caractère de la cellule( et même si il y a rien dans la cellule), jusqu'à que le total de caractère sois 12.
exemple:
dans une cellule j'ai ça
154qsg48
après la "macro" j'ai çà :
154qsg480000
Pourrai donner çà :
Tant que la somme des caractère d'A1est inférieur a 12
ajouter 0 a la fin du dernier caractère jusqu'à 12