Je vous soumet ma macro car je n'y comprend plus rien.
Lors du 1er test sur la condition "Total", le comptage des lignes s'effectue
normalement
et je ressort avec une valeur de compteur>0
Lors du 2eme test sur la condition "Total", alors que Cells(Ligne1, 25) et
NumChapitre
sont rigoureusement égaux VBA saute directement a la ligne suivant le Wend.
Cela fait plusieurs heures que je bute dessus sans rien comprendre
Merci d'avance de votre aide
----------------------------------------------------------------------------
----------
Sub AMT_Formules_Totaux()
Public i, j, Compteur, Controle As Integer
Public Ligne, Ligne1, NbChapitre As Integer
Public NumChapitre As Double
Ligne = 3
While Cells(Ligne, 1) <> "fin"
If Cells(Ligne, 5) = "Total" Then ' C'est une ligne de total
' Initialisation
NumChapitre = Cells(Ligne, 6)
Ligne1 = Ligne - 1
' Comptage des lignes du chapitre
While Cells(Ligne1, 25) = NumChapitre
Compteur = Compteur + 1
Ligne1 = Ligne1 - 1
Wend
.........Traitement
Compteur = 0
NumChapitre = 0
End If
Ligne = Ligne + 1
Wend
---------- Sub AMT_Formules_Totaux() Public i, j, Compteur, Controle As Integer Public Ligne, Ligne1, NbChapitre As Integer Public NumChapitre As Double
Ligne = 3
While Cells(Ligne, 1) <> "fin" If Cells(Ligne, 5) = "Total" Then ' C'est une ligne de total
' Initialisation NumChapitre = Cells(Ligne, 6) Ligne1 = Ligne - 1 ' Comptage des lignes du chapitre While Cells(Ligne1, 25) = NumChapitre Compteur = Compteur + 1 Ligne1 = Ligne1 - 1 Wend
..........Traitement
Compteur = 0 NumChapitre = 0 End If Ligne = Ligne + 1 Wend
End Sub
.
Bonjour,
c'est habituellement un problème d'initialisation de
variables. Compteur ne semble pas initialisé au premier
passage, et peut-être d'autres.
Denis
-----Message d'origine-----
Bonjour à tous
Je vous soumet ma macro car je n'y comprend plus rien.
Lors du 1er test sur la condition "Total", le comptage
des lignes s'effectue
normalement
et je ressort avec une valeur de compteur>0
Lors du 2eme test sur la condition "Total", alors que
Cells(Ligne1, 25) et
NumChapitre
sont rigoureusement égaux VBA saute directement a la
ligne suivant le Wend.
Cela fait plusieurs heures que je bute dessus sans rien
comprendre
----------
Sub AMT_Formules_Totaux()
Public i, j, Compteur, Controle As Integer
Public Ligne, Ligne1, NbChapitre As Integer
Public NumChapitre As Double
Ligne = 3
While Cells(Ligne, 1) <> "fin"
If Cells(Ligne, 5) = "Total" Then ' C'est une ligne de
total
' Initialisation
NumChapitre = Cells(Ligne, 6)
Ligne1 = Ligne - 1
' Comptage des lignes du chapitre
While Cells(Ligne1, 25) = NumChapitre
Compteur = Compteur + 1
Ligne1 = Ligne1 - 1
Wend
..........Traitement
Compteur = 0
NumChapitre = 0
End If
Ligne = Ligne + 1
Wend
---------- Sub AMT_Formules_Totaux() Public i, j, Compteur, Controle As Integer Public Ligne, Ligne1, NbChapitre As Integer Public NumChapitre As Double
Ligne = 3
While Cells(Ligne, 1) <> "fin" If Cells(Ligne, 5) = "Total" Then ' C'est une ligne de total
' Initialisation NumChapitre = Cells(Ligne, 6) Ligne1 = Ligne - 1 ' Comptage des lignes du chapitre While Cells(Ligne1, 25) = NumChapitre Compteur = Compteur + 1 Ligne1 = Ligne1 - 1 Wend
..........Traitement
Compteur = 0 NumChapitre = 0 End If Ligne = Ligne + 1 Wend
End Sub
.
Christian.L
Merci pour ta réponse Denis,
Mais cela n'explique pas pourquoi cela fonctionne au premier passage et pas au second.
Mystère
C.L.
"Denis" a écrit dans le message de news:76ef01c4ccb9$bdd697f0$ Bonjour, c'est habituellement un problème d'initialisation de variables. Compteur ne semble pas initialisé au premier passage, et peut-être d'autres.
Denis
-----Message d'origine----- Bonjour à tous
Je vous soumet ma macro car je n'y comprend plus rien. Lors du 1er test sur la condition "Total", le comptage des lignes s'effectue
normalement et je ressort avec une valeur de compteur>0 Lors du 2eme test sur la condition "Total", alors que Cells(Ligne1, 25) et
NumChapitre sont rigoureusement égaux VBA saute directement a la ligne suivant le Wend.
Cela fait plusieurs heures que je bute dessus sans rien comprendre
---------- Sub AMT_Formules_Totaux() Public i, j, Compteur, Controle As Integer Public Ligne, Ligne1, NbChapitre As Integer Public NumChapitre As Double
Ligne = 3
While Cells(Ligne, 1) <> "fin" If Cells(Ligne, 5) = "Total" Then ' C'est une ligne de total
' Initialisation NumChapitre = Cells(Ligne, 6) Ligne1 = Ligne - 1 ' Comptage des lignes du chapitre While Cells(Ligne1, 25) = NumChapitre Compteur = Compteur + 1 Ligne1 = Ligne1 - 1 Wend
..........Traitement
Compteur = 0 NumChapitre = 0 End If Ligne = Ligne + 1 Wend
End Sub
.
Merci pour ta réponse Denis,
Mais cela n'explique pas pourquoi cela fonctionne au premier passage et pas
au second.
Mystère
C.L.
"Denis" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:76ef01c4ccb9$bdd697f0$a301280a@phx.gbl...
Bonjour,
c'est habituellement un problème d'initialisation de
variables. Compteur ne semble pas initialisé au premier
passage, et peut-être d'autres.
Denis
-----Message d'origine-----
Bonjour à tous
Je vous soumet ma macro car je n'y comprend plus rien.
Lors du 1er test sur la condition "Total", le comptage
des lignes s'effectue
normalement
et je ressort avec une valeur de compteur>0
Lors du 2eme test sur la condition "Total", alors que
Cells(Ligne1, 25) et
NumChapitre
sont rigoureusement égaux VBA saute directement a la
ligne suivant le Wend.
Cela fait plusieurs heures que je bute dessus sans rien
comprendre
----------
Sub AMT_Formules_Totaux()
Public i, j, Compteur, Controle As Integer
Public Ligne, Ligne1, NbChapitre As Integer
Public NumChapitre As Double
Ligne = 3
While Cells(Ligne, 1) <> "fin"
If Cells(Ligne, 5) = "Total" Then ' C'est une ligne de
total
' Initialisation
NumChapitre = Cells(Ligne, 6)
Ligne1 = Ligne - 1
' Comptage des lignes du chapitre
While Cells(Ligne1, 25) = NumChapitre
Compteur = Compteur + 1
Ligne1 = Ligne1 - 1
Wend
..........Traitement
Compteur = 0
NumChapitre = 0
End If
Ligne = Ligne + 1
Wend
Mais cela n'explique pas pourquoi cela fonctionne au premier passage et pas au second.
Mystère
C.L.
"Denis" a écrit dans le message de news:76ef01c4ccb9$bdd697f0$ Bonjour, c'est habituellement un problème d'initialisation de variables. Compteur ne semble pas initialisé au premier passage, et peut-être d'autres.
Denis
-----Message d'origine----- Bonjour à tous
Je vous soumet ma macro car je n'y comprend plus rien. Lors du 1er test sur la condition "Total", le comptage des lignes s'effectue
normalement et je ressort avec une valeur de compteur>0 Lors du 2eme test sur la condition "Total", alors que Cells(Ligne1, 25) et
NumChapitre sont rigoureusement égaux VBA saute directement a la ligne suivant le Wend.
Cela fait plusieurs heures que je bute dessus sans rien comprendre
---------- Sub AMT_Formules_Totaux() Public i, j, Compteur, Controle As Integer Public Ligne, Ligne1, NbChapitre As Integer Public NumChapitre As Double
Ligne = 3
While Cells(Ligne, 1) <> "fin" If Cells(Ligne, 5) = "Total" Then ' C'est une ligne de total
' Initialisation NumChapitre = Cells(Ligne, 6) Ligne1 = Ligne - 1 ' Comptage des lignes du chapitre While Cells(Ligne1, 25) = NumChapitre Compteur = Compteur + 1 Ligne1 = Ligne1 - 1 Wend
..........Traitement
Compteur = 0 NumChapitre = 0 End If Ligne = Ligne + 1 Wend