Vba..Boucle + If
Résolu/Fermé
Waty By Night
-
19 avril 2010 à 12:06
dct33 Messages postés 41 Date d'inscription jeudi 8 avril 2010 Statut Membre Dernière intervention 20 avril 2010 - 20 avril 2010 à 21:12
dct33 Messages postés 41 Date d'inscription jeudi 8 avril 2010 Statut Membre Dernière intervention 20 avril 2010 - 20 avril 2010 à 21:12
4 réponses
dct33
Messages postés
41
Date d'inscription
jeudi 8 avril 2010
Statut
Membre
Dernière intervention
20 avril 2010
39
19 avril 2010 à 13:42
19 avril 2010 à 13:42
Sub sup()
Dim i As Long
Dim cll As Range
Dim j As Long
Range("J2", [J2].End(xlDown)).Select
j = Selection.Count
For i = 2 To j
Cells(i, "J").Select
If InStr(Cells(i, "J"), "APPRENTI") = 0 And Cells(i, "J") <> "" Then
Cells(i, "J").EntireRow.Delete
i = i - 1
End If
Next i
End Sub
Dim i As Long
Dim cll As Range
Dim j As Long
Range("J2", [J2].End(xlDown)).Select
j = Selection.Count
For i = 2 To j
Cells(i, "J").Select
If InStr(Cells(i, "J"), "APPRENTI") = 0 And Cells(i, "J") <> "" Then
Cells(i, "J").EntireRow.Delete
i = i - 1
End If
Next i
End Sub
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
19 avril 2010 à 12:19
19 avril 2010 à 12:19
Bonjour,
Dans le If c'est "cll" qui n'est pas défini.
Il suffit de faire :
Pourquoi compliquer quand on peut faire simple ???
;o)
Dans le If c'est "cll" qui n'est pas défini.
Il suffit de faire :
For i = 2 To j If InStr(Cells(i, 8).Value, "APPRENTI") = 0 Then Rows(i).Delete End If Next i
Pourquoi compliquer quand on peut faire simple ???
;o)
dct33
Messages postés
41
Date d'inscription
jeudi 8 avril 2010
Statut
Membre
Dernière intervention
20 avril 2010
39
19 avril 2010 à 21:08
19 avril 2010 à 21:08
Bonsoir,
Je vous ai fait ça vite fait
effectivement il y as des trucs qui ne servent à rien
par contre décrémenter J était utile
M Polux 31 une chose peut vous être reconnu c'est votre manque de courtoisie
j'aurais préféré que vous ajoutiez un truc qui fonctionne et non pas un bidouillage qui ne répond pas au problème car sans décrémentation de i et de J cela ne fonctionne pas
Et avant de parler de sucer son pouce il faudrait que vous preniez un peu de maturité
Salutations
Je vous ai fait ça vite fait
effectivement il y as des trucs qui ne servent à rien
par contre décrémenter J était utile
M Polux 31 une chose peut vous être reconnu c'est votre manque de courtoisie
j'aurais préféré que vous ajoutiez un truc qui fonctionne et non pas un bidouillage qui ne répond pas au problème car sans décrémentation de i et de J cela ne fonctionne pas
Et avant de parler de sucer son pouce il faudrait que vous preniez un peu de maturité
Salutations
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
19 avril 2010 à 23:58
19 avril 2010 à 23:58
en matière de courtoisie, je n'ai certainement pas de leçon à recevoir par quelqu'un qui poste sans même dire Bonjour.
Il faut aussi lire ce qui est posté. J'ai pris le temps d'expliquer d'où venait l'erreur. Donner une solution sans prendre la peine de dire d'où provient l'erreur n'aidera pas le helpé, ni ceux qui cherchent des réponses.
Ce n'est pas la première que tu interviens sur des postes en étant redondant ou hors sujet.
Pour la petite histoire : i est incrémenté, et non décrémenté, automatiquement dans le For Next jusqu'à atteindre la valeur de j. La variable j est initialisé avant la boucle est sa valeur est fixe dans la boucle et n'a nullement besoin d'être incrémenté ou décrémenté pour que ça fonctionne.
Alors on tourne 7 fois la souris autour du clavier avant d'écrire des arguments sucés de je ne sais où.
Merci
Il faut aussi lire ce qui est posté. J'ai pris le temps d'expliquer d'où venait l'erreur. Donner une solution sans prendre la peine de dire d'où provient l'erreur n'aidera pas le helpé, ni ceux qui cherchent des réponses.
Ce n'est pas la première que tu interviens sur des postes en étant redondant ou hors sujet.
Pour la petite histoire : i est incrémenté, et non décrémenté, automatiquement dans le For Next jusqu'à atteindre la valeur de j. La variable j est initialisé avant la boucle est sa valeur est fixe dans la boucle et n'a nullement besoin d'être incrémenté ou décrémenté pour que ça fonctionne.
Alors on tourne 7 fois la souris autour du clavier avant d'écrire des arguments sucés de je ne sais où.
Merci
dct33
Messages postés
41
Date d'inscription
jeudi 8 avril 2010
Statut
Membre
Dernière intervention
20 avril 2010
39
20 avril 2010 à 21:12
20 avril 2010 à 21:12
Bonsoir,
Vous devriez tester votre code et vous verriez que lorsque vous supprimer une ligne si vous ne faites pas une décrémentation , vous sautez une ligne
Si vous décrémentez pas J vous allez tester des lignes inutilement
Par contre ne vérifiez pas et restez dans vos certitudes
Vous devriez tester votre code et vous verriez que lorsque vous supprimer une ligne si vous ne faites pas une décrémentation , vous sautez une ligne
Si vous décrémentez pas J vous allez tester des lignes inutilement
Par contre ne vérifiez pas et restez dans vos certitudes
19 avril 2010 à 13:50
Merci d'intervenir pour apporter un complément pouvant améliorer une solution ou corriger une erreur et non pour étaler son savoir.
Merci
19 avril 2010 à 16:55
Je vous remercie des solutions proposées, Polux, je ne sais pas pourquoi mais ça ne marche pas...
dct 33, ça marche, je te remercie, même si c'est vrai que pour la cellule vide ça n'est pas important.
Merci à vous 2 :)
19 avril 2010 à 17:04
j'ai omis de rectifier cells(i, 8) par cells(i,"J") ...