Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème code VBA

  • Initiateur de la discussion Initiateur de la discussion pierrof
  • Date de début Date de début

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 !

pierrof

XLDnaute Occasionnel
Bonjour

J'ai un code VBA ou je ne comprends pas mon erreur, je souhaite supprimer des lignes en fonction de la valeur d'une cellule je vous laisse un bout de code:


'effacer les lignes dont la quantité d'heure=0 + les services ce code fonctionne
For m = 1 To Range("B10000").End(xlUp).Row
If Cells(m, 9).Value = "0" Then
Cells(m, 1).EntireRow.Delete
m = m - 1
End If
If Cells(m, 6).Value = "M" Then
Cells(m, 1).EntireRow.Delete
m = m - 1
End If
If Cells(m, 6).Value = "G" Then
Cells(m, 1).EntireRow.Delete
m = m - 1
End If
If Cells(m, 6).Value = "GA" Then
Cells(m, 1).EntireRow.Delete
m = m - 1
End If
If Cells(m, 6).Value = "GAR" Then
Cells(m, 1).EntireRow.Delete
m = m - 1
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If Cells(m, 13).Value <> "VALID" Then 'ce code bloque je ne comprend pas
Cells(m, 1).EntireRow.Delete
m = m - 1
End If
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''

Merci de votre aide
 
Re : Problème code VBA

Bonjour tototiti
Ce code doit supprimer la ligne si la valeur des cellule de la colonne 13 est differentes de VALID
If Cells(m, 13).Value <> "VALID" Then 'ce code bloque je ne comprend pas
Cells(m, 1).EntireRow.Delete
m = m - 1
End If

Les autres code fonctionnent correctement.

Merci de ton aide
Next
 
Re : Problème code VBA

Bonjour , Slt les barba....
J'ai rencontré 2 Pb :
j'ai mis des valeurs au pif , et selon les cas on peut avoir :
1 Comme dit PJ on arrive a 0
2 je suis rentré dans une boucle Infernale !!!!!!!!! : il me reste 2 lignes avec VALID en 13
et comme sa variable de boucle cherche le Nb de lignes on reste à 3 qui est vierge donc cherche a supprimer et comme ca jusque ........???????

j'ai mis row -1 et supprimé tous les m=m-1 , ca marche
 
Re : Problème code VBA

Bonjour PierreJean et Hervé

Merci de votre aide.

Hervé peux tu me préciser ta manip "j'ai mis row -1 et supprimé tous les m=m-1"
Où tu as mis ton row-1?

Merci
 
Re : Problème code VBA

Re

Pour eviter ce genre de souci il est preferable d'opter pour
Code:
For m = Range("B10000").End(xlUp).Row to 1 step -1
.....
et plus generalement poster un petit fichier exemple !!!!
 
Re : Problème code VBA

Le row -1 n'était pas le + important : Range("B10000").End(xlUp).Row -1
Cette instruction te calcule deja le Nbre de lignes restantes a traiter ( puisque tu en supprimes) pour ta boucle alors pourquoi encore faire m=m-1 , c'était là le HIC !!!
 
- 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
281
Réponses
5
Affichages
912
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
Réponses
4
Affichages
735
Réponses
2
Affichages
528
Réponses
15
Affichages
786
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…