Petit problème de VBA
Hier on m'a proposé une macro pour boucler sur une colonne :
1. vérifier qu'elle comporte bien la série de chiffre 0 - 23
2. si elle ne comporte pas elle ajoute les chiffres manquants pour obtenir 0 - 23
cela donne :
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim COL As Byte 'déclare la variable COL (COLonne)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Byte 'déclare la variable J (incrément)
debut: 'étiquette
Set O = Worksheets("test_2017") 'définit l'onglet O (à adapter à ton cas)
COL = 6 'définit la colonne COL (à adapter à ton cas)
DL = O.Cells(Application.Rows.Count, COL).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne COL de l'onglet O
TV = O.Range("A2").CurrentRegion 'définit le tableau des valeurs TV
J = 0 'initialise la variable J
For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV
If J = 24 Then J = 0 'si J est égale a 24 alors J vaut 0
If TV(I, COL) <> J Then 'condition : si la cellule ligne I colonne 1 de TV est différente de J
MsgBox "Manque : " & J 'message
O.Rows(I + 1).Insert
O.Cells(I + 1, COL).Value = J 'sélectionne la cellule ligne I colonne 1 de l'onglet O
GoTo debut 'va à l'étiquette "debut"
Else 'sinon
J = J + 1 'incrémente J
End If 'fin de la condition
Next I 'prochaine ligne de la boucle
End SubMais elle bug et me rajoute parfois que des 0 ou que des 1 selon le 1er chiffre qu'elle doit remplacer... une idée ?
Bonjour,
A mon avis, tu devrais :
1) Poser cette question dans le sujet initial qui a donné lieu à l'élaboration de ce code.
2) Fournir le fichier xlsm, dûment muni de la macro, dans lequel cette macro ne remplit pas son office, en expliquant clairement en quoi ce qu'elle fait ne correspond pas à ce qui est voulu.
Cordialement.
Si cela peut aider sujet résolu dans l'autre fil...
Il ne faut pas oublier une ligne vierge !
Bonjour MFerrand,
la solution a été trouvé par ThauThème ici :
https://forum.excel-pratique.com/viewtopic.php?p=697885#p697885
dhany
Salut Dhany !
J'avais repéré immédiatement que le code avait été fourni par ThauThème (noms de variable, style de commentaires, structure générale...) mais en tout état de cause la question relevait de la discussion initiale dans laquelle le code avait pris naissance et il n'y avait visiblement pas de raison d'en créer une autre !
@Oo_Pan:
Si cela peut aider sujet résolu dans l'autre fil...
Il ne faut pas oublier une ligne vierge !
Bonne journée à tous.