Aide sur une macro VBA convertirchaine dim
Illkarr
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Illkarr Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Illkarr Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Aide sur une macro VBA convertirchaine dim
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Arreter une macro vba ✓ - Forum VB / VBA
2 réponses
Bonjour
Peut être comme ceci
Cordialement
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