Aide sur une macro VBA convertirchaine dim

Fermé
Illkarr Messages postés 2 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 2 juillet 2014 - 2 juil. 2014 à 15:13
Illkarr Messages postés 2 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 2 juillet 2014 - 2 juil. 2014 à 15:52
Bonjour,
J'ai une macro (prise sur ce forum d'ailleurs via pollux31, mon niveau n'étant pas aussi bon) mais elle ne fait pas la chaine jusqu'à ma dernière ligne de colonne.
Le résumé de la macro est : le format de la cellule doit être de 24 caractères, et si dans une cellule le format n'est pas atteint, compléter par des espaces (32). Ca fonctionne sur la colonne D2 en l'occurrence mais pas jusqu'au bout.
Pourriez vous m'aider pour me situer l'erreur dans le script:

Sub ConvertirChaine()
Dim i, derlig As Integer 'déclaration de variables "nombres" pour : i --> faire la boucle, derlig --> déterminer la dernière ligne de la colonne
Dim chaine As String
derlig = Range("D5571").End(xlUp).Row 'dernière ligne non vide de la colonne D
For i = 2 To derlig 'ici on dit que i va prendre les valeurs de 2 à derlig (derlig étant le numéro de la dernière ligne)
chaine = Cells(i, 4) 'chaine = contenu de la cellule (ligne "i" colonne 4) (soit D2 pour commencer)
While Len(chaine) < 24
chaine = chaine & " "
Wend
Cells(i, 4) = chaine
Next i 'ligne suivante
End Sub
A voir également:

2 réponses

ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 2/07/2014 à 15:29
Bonjour

Peut être comme ceci

Dim chaine As String, derli As Long, li As Long
With ActiveSheet
derli = .Range("D" & Rows.Count).End(xlUp).Row
For li = 2 To derli
chaine = .Cells(li, 4).Value
If Len(chaine) < 24 Then chaine = chaine & String(24 - Len(chaine), "-")
.Cells(li, 4) = chaine
Next li
End With

Cordialement
0
Illkarr Messages postés 2 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 2 juillet 2014
2 juil. 2014 à 15:52
Merci beaucoup ccm81 ça à l'air de marcher. Je regarde juste dans ma récup txt si il y a pas de caractères "dissimulés" et ce sera bon.
0