Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Passer de 1,2,3,4,5,6,ou 7 caracteres à 8 en vba

  • Initiateur de la discussion Initiateur de la discussion Scoobidoo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Scoobidoo

XLDnaute Occasionnel
Bonjour à tous,

Je suis en train de sècher sur un truc certainement tout bête comme d'hab. Voila, j'ai plusieurs colonnes dans mon fichier d'environ 47000 lignes dont je souhaite en vba "transformer" tous les nombres qui vont de 1 à 8 caractères en nombres à 8 caractères. Le format personnalisé "00000000" affiche le résultat recherché mais la valeur reste toujours à ce qu'elle était et non pas à "xxxxxxxx". J'espère e^tre assez clair pour que quelqu'un puisse m'orienter. Merci d'avance à tous.

Scoobidoo
 
Re : Passer de 1,2,3,4,5,6,ou 7 caracteres à 8 en vba

Bonjour,

J'avoue ne pas trop comprendre ton problème : le format personnalisé 00000000 t'affiche tous tes nombres avec 8 chiffres, en plaçant des 0 devant. Pour moi, la valeur de 00000027 est la même que la valeur de 27. Je ne comprends pas ce qui te dérange du coup ? Essaie de préciser cet aspect... ou alors, c'est moi qui déraille ?
 
Re : Passer de 1,2,3,4,5,6,ou 7 caracteres à 8 en vba

Bonjour Softmama,

Non sois rassuré tu ne déraille pas ! Effectivement la valeur "00000027" et la même que la valeur de "27" mais dans mon cas, ce fichier sert ensuite à un traitement qui nécessite que l'on ait 8 caratères. Ce qui veut dire que si l'affichage est bien "00000027", la "valeur" qui s'affiche dans la barre de formule est elle de "27" et c'est là mon problème. Il faut que dans la barre de formule aussi elle soit de "00000027". Peut être que cela n'est pas possible mais vu les problèmes qui sont résolus sur le forum je me dit qu'il y aura certainement quelqu'un qui pourra m'aider.
 
Re : Passer de 1,2,3,4,5,6,ou 7 caracteres à 8 en vba

Bonjour,
En Excel:

="" & DROITE("00000000" & A1; 8)
puis copier coller en valeur de la colonne.

En VBA sur la sélection:

Sub T()
Dim c as variant

For each C in Selection.cells
C.value = "'" & right("00000000" & C.value, 8)
next C
End Sub

Cordialement
Sylvain
 
Dernière modification par un modérateur:
Re : Passer de 1,2,3,4,5,6,ou 7 caracteres à 8 en vba

Bonjour une petite macro qui fait le boulot, à adapter bien sur
Public Sub numcs()
' RECODIFICATION DE NOMBRE SUIVANT LE NOMBRE DE CHIFFRES
'de 6 à 10 'FLA 2010.06.12
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim Tablo, Derli&, Coef As Double, Ri&, Ci&
Dim K&, Rng As Range, Ici As Object
Set Ici = Range("F2") ' à adatper
Ri = Ici.Row
Ci = Ici.Column
Derli = Range("A65536").End(xlUp).Row
Cells(2, 1).Select
Columns(Ici.Column).Clear
Tablo = ActiveSheet.Cells(2, 1).Resize(Derli, 1).Value
For K = LBound(Tablo, 1) To UBound(Tablo, 1)
Coef = Len(Tablo(K, 1))
'de 6 chiffres à 10 chiffres
Select Case Coef
Case Is = 6
Coef = 100
Case Is = 7
Coef = 10
Case Is = 8
Coef = 1
Case Is = 9
Coef = 0.1
Case Is = 10
Coef = 0.01
End Select
Tablo(K, 1) = Coef * Tablo(K, 1)
Next
'MsgBox (UBound(Tablo))
'Retour du tableau dans la feuille des comptes renumérotés'
Range(Ici, Cells(Derli, Ci)) = Tablo
'autre solution
Set Ici = Range("F2").Resize(K - Ri, 1)
'Ici.Select
Ici = Tablo: Set Ici = Nothing
Erase Tablo
Application.Calculation = xlCalculationAutomatic
End Sub
Cordialement
Flyonets
 
Re : Passer de 1,2,3,4,5,6,ou 7 caracteres à 8 en vba

Bonjour Sylvain, Flyonets,

Je vous remercie pour vos réponse. Je m'en vais de ce pas adapter tout ça à mon cas. Bonne journée à tous et encore merci.

Scoobidoo
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

C
Réponses
9
Affichages
3 K
Cedric_C
C
F
Réponses
0
Affichages
966
Fabienc75
F
T
Réponses
2
Affichages
3 K
thilam
T
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…