Boucle - Fonctionnement Etonnant - Oubli certaines lignes dans le traitement

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 !

psychofred0

XLDnaute Nouveau
Bonjour,

Je me permets de vous solliciter car je rencontre une problématique que je ne suis pas en mesure d'expliquer.

Ci-dessous le code qui pose problème :
Code:
 'Supprimer les lignes lorsque la donnée "Appels pris" est = 0
vNbLignesAPP = Range("C8").CurrentRegion.Rows.Count
vComptAPP = 0
For vNumLigneAPP = 8 To vNbLignesAPP Step 1
    If Range("C" & vNumLigneAPP).Value = 0 Then Rows(vNumLigneAPP).Delete
    vComptAPP = vComptAPP + 1
Next vNumLigneAPP
MsgBox Prompt:=vComptAPP & "/" & vNbLignesAPP
'Corriger les cellules contenant une valeur en temps au mauvais format
'Boucle pour la DTC en colonne E
vNbLignesDTC = Range("F8").CurrentRegion.Rows.Count
vComptDTC = 0
For vNumLigneDTC = 8 To vNbLignesDTC Step 1
    If Left(Range("F" & vNumLigneDTC).Value, 1) = ":" Then Range("F" & vNumLigneDTC).Value = "00" & Range("F" & vNumLigneDTC).Value
    vComptDTC = vComptDTC + 1
Next vNumLigneDTC
MsgBox Prompt:=vComptDTC & "/" & vNbLignesDTC
'Boucle pour la DTT en colonne F
vNbLignesDTT = Range("G8").CurrentRegion.Rows.Count
vComptDTC = 0
For vNumLigneDTT = 8 To vNbLignesDTT Step 1
    If Left(Range("G" & vNumLigneDTT).Value, 1) = ":" Then Range("G" & vNumLigneDTT).Value = "00" & Range("G" & vNumLigneDTT).Value
    vComptDTT = vComptDTT + 1
Next vNumLigneDTT
MsgBox Prompt:=vComptDTT & "/" & vNbLignesDTT
'Boucle pour la DTG en colonne J
vNbLignesDTG = Range("K8").CurrentRegion.Rows.Count
vComptDTG = 0
For vNumLigneDTG = 8 To vNbLignesDTG Step 1
    If Left(Range("K" & vNumLigneDTG).Value, 1) = ":" Then Range("K" & vNumLigneDTG).Value = "00" & Range("K" & vNumLigneDTG).Value
    vComptDTG = vComptDTG + 1
Next vNumLigneDTG
MsgBox Prompt:=vComptDTG & "/" & vNbLignesDTG
'Boucle pour la DTCS en colonne O
vNbLignesDTCS = Range("O8").CurrentRegion.Rows.Count
vComptDTCS = 0
For vNumLigneDTCS = 8 To vNbLignesDTC Step 1
    If Left(Range("P" & vNumLigneDTCS).Value, 1) = ":" Then Range("P" & vNumLigneDTCS).Value = "00" & Range("P" & vNumLigneDTCS).Value
    vComptDTCS = vComptDTCS + 1
Next vNumLigneDTCS
MsgBox Prompt:=vComptDTCS & "/" & vNbLignesDTCS

Le code fonctionne très bien, mais certaines lignes sont zappées sans raison
J'ai ajouté un compteur sur chaque boucle, et j'ai toujours le même résultats : 7 lignes et/ou cellules sont zappées du traitement (sur l'exemple que j'utilise)

Je ne sais pas pourquoi, ni comment résoudre cette problématique... 😡😡😡
L'un d'entre vous aurait-il une idée ?

En vous remerciant par avance,
 
Re : Boucle - Fonctionnement Etonnant - Oubli certaines lignes dans le traitement

finalement, pas encore au dodo.
Evites le currentregion, je sais pas trop comment ça réagit.
pour info, j'ai jamais eu de formation.
il faut pratiquer, pratiquer, pratiquer....
et utiliser excel-download... en oubliant pas de mettre un fichier exemple (chiffre bidons, noms bidons,....)

l'on est content de rendre service. 😎

Bonjour Combory,

J'utilise le CurrentRegion généralement sur des données où je suis sûr que cela fonctionne (ex : tableau, zone nommée,...), sinon je ne fais pas.
La formation m'a bien aidé, mais j'avoue que ce site/forum est très bien fourni en termes d'aides, de tuto,...

Bonne journée à vous et encore merci pour l'aide 😱😱
 
- 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

Réponses
4
Affichages
177
Réponses
8
Affichages
233
Réponses
2
Affichages
153
Réponses
5
Affichages
232
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
649
Retour