Boucle VBA for next limité ?
Résolu/Fermé
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
-
Modifié par eljojo_e le 21/05/2013 à 11:37
eljojo_e Messages postés 1155 Date d'inscription lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 - 21 mai 2013 à 14:02
eljojo_e Messages postés 1155 Date d'inscription lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 - 21 mai 2013 à 14:02
A voir également:
- Boucle VBA for next limité ?
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Download instagram for pc - Télécharger - Divers Communication
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Saveaspdf.exe for office 2007 - Télécharger - Bureautique
4 réponses
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
21 mai 2013 à 11:44
21 mai 2013 à 11:44
C'est bon ! il suffit de déclarer en double.
dim a, aa as double.
^^.
dim a, aa as double.
^^.
ccm81
Messages postés
10899
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
25 octobre 2024
2 422
21 mai 2013 à 11:58
21 mai 2013 à 11:58
Bonjour
RQ1. le type long devrait suffire pour a
RQ2. Si j'ai compris, pour la boucle aa, dès que
Range("d" & a).Value = Sheets("Feuil1").Range("a" & aa).Value,
on incrémente b et à la sortie si b>0, on supprime la ligne a
il me semble donc inutile d'aller au bout de la boucle aa, ce qui devrait accélérer l'exécution
bonne journée
RQ1. le type long devrait suffire pour a
RQ2. Si j'ai compris, pour la boucle aa, dès que
Range("d" & a).Value = Sheets("Feuil1").Range("a" & aa).Value,
on incrémente b et à la sortie si b>0, on supprime la ligne a
il me semble donc inutile d'aller au bout de la boucle aa, ce qui devrait accélérer l'exécution
Sub ttt() dim a as long, aa as long, b as long b = 0 For a = 58723 To 2 Step -1 For aa = 90 To 2 Step -1 If Range("d" & a).Value = Sheets("Feuil1").Range("a" & aa).Value Then b = 1 exit for end if Next aa If b > 0 Then Rows(a).Entirerow.Delete b = 0 End If Next a End Sub
bonne journée
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 309
21 mai 2013 à 12:27
21 mai 2013 à 12:27
Bonjour
Avec 1 seule boucle
Avec 1 seule boucle
Sub supprimer_ligne_si_égalite() Dim Lig As Long, Egal As Byte Application.ScreenUpdating = False For Lig = 58723 To 2 Step -1 Egal = Rows(Lig).Find(what:=Cells(Lig, "D"), after:=Cells(Lig, "D")).Column If Egal > 4 Then Rows(Lig).Delete Next End Sub
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
Modifié par eljojo_e le 21/05/2013 à 13:28
Modifié par eljojo_e le 21/05/2013 à 13:28
Merci, jai un peu modifié car ca ne fonctionné pas.
Sub ttt()
dim a as long, aa as long, b as long
b = 0
For a = 58723 To 2 Step -1
For aa = 90 To 2 Step -1
If Range("d" & a).Value = Sheets("Feuil1").Range("a" & aa).Value Then
b = 1
exit for
else: b=0
end if
Next aa
If b = 0 Then
Rows(a).Entirerow.Delete
b = 0
End If
Next a
End Sub
Le geek ne descend pas du métro, il libère la rame.
Sub ttt()
dim a as long, aa as long, b as long
b = 0
For a = 58723 To 2 Step -1
For aa = 90 To 2 Step -1
If Range("d" & a).Value = Sheets("Feuil1").Range("a" & aa).Value Then
b = 1
exit for
else: b=0
end if
Next aa
If b = 0 Then
Rows(a).Entirerow.Delete
b = 0
End If
Next a
End Sub
Le geek ne descend pas du métro, il libère la rame.
ccm81
Messages postés
10899
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
25 octobre 2024
2 422
21 mai 2013 à 13:40
21 mai 2013 à 13:40
Exact pour le else b=0
En fait tu peux supprimer ces deux lignes et mettre l'initialisation de b à 0 entre
For a = 58723 ...
et for aa = 90 ...
En fait tu peux supprimer ces deux lignes et mettre l'initialisation de b à 0 entre
For a = 58723 ...
et for aa = 90 ...
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
21 mai 2013 à 13:41
21 mai 2013 à 13:41
C'est pas faux^^. En tout cas ca marche merci !
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 309
21 mai 2013 à 13:54
21 mai 2013 à 13:54
Excusez moi d'avoir dérangé
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
21 mai 2013 à 13:55
21 mai 2013 à 13:55
o j'avais pas fait gaf, je pensé que c'était la même personne lol.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 309
Modifié par michel_m le 21/05/2013 à 13:59
Modifié par michel_m le 21/05/2013 à 13:59
Je suis mort de rire, du....n