Ecrire une boucle en VBA
oribaze
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhetairai ecrire un programme qui lit la premiere cellule d'une ligne d'un tableau , et qui supprime l'entiereté de la ligne si la cellule est differente d'une certaine valeur (ici si la cellule A est different de 1 , supprimer la ligne , et repeter pour toute les lignes )
J ' ai trouvé deux solutions qui ne marchent pas entierement
la premiere s'applique à un petit tableau et je souhetairai traiter un tableau de 10 000 lignes ,
la deuxieme me donne une boucle infinie
voici les deux codes :
sub macro 1()
Dim i as integer
dim j as integer
for i=1 to 10000
for j= i to 10000
if cells(i, 1) <> "1" Then
Rows(i).Select
Application:CutCopyMode =False
Selection.Delete
End if
next i
next j
end sub
deuxieme macro
for i = 1 to 10 000
Do while cells (i, 1) <> "1"
Rows(i).Select
Application:CutCopyMode =False
Selection.Delete
loop
next i
end sub
Merci pour votre aide
Je souhetairai ecrire un programme qui lit la premiere cellule d'une ligne d'un tableau , et qui supprime l'entiereté de la ligne si la cellule est differente d'une certaine valeur (ici si la cellule A est different de 1 , supprimer la ligne , et repeter pour toute les lignes )
J ' ai trouvé deux solutions qui ne marchent pas entierement
la premiere s'applique à un petit tableau et je souhetairai traiter un tableau de 10 000 lignes ,
la deuxieme me donne une boucle infinie
voici les deux codes :
sub macro 1()
Dim i as integer
dim j as integer
for i=1 to 10000
for j= i to 10000
if cells(i, 1) <> "1" Then
Rows(i).Select
Application:CutCopyMode =False
Selection.Delete
End if
next i
next j
end sub
deuxieme macro
for i = 1 to 10 000
Do while cells (i, 1) <> "1"
Rows(i).Select
Application:CutCopyMode =False
Selection.Delete
loop
next i
end sub
Merci pour votre aide
A voir également:
- Ecrire une boucle en VBA
- Ecrire en gras sur whatsapp - Guide
- Écrire en majuscule - Guide
- Ecrire en miroir - Guide
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
- Comment écrire # sur pc - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
il est préférable de commencer par le bas et de remonter quand on supprime des lignes.
pourquoi écris-tu que la premiere s'applique à un petit tableau?
dans les deux cas, je ne comprends pas pourquoi tu fais deux boucles imbriquées.
il est préférable de commencer par le bas et de remonter quand on supprime des lignes.
pourquoi écris-tu que la premiere s'applique à un petit tableau?
dans les deux cas, je ne comprends pas pourquoi tu fais deux boucles imbriquées.
Si je fais une simple boucle l'algorithme ne me lira pas toutes les lignes , il ira à la ligne d'en dessous à cause du next i
Sans lire la ligne sur laquelle le curseur est