Deux boucle en 1

Le
Alex
Bonjour,

Je cherche de l'aide pour faire une boucle dans une boucle, et m'en
explique :

Dans une feuille, ma première boucle verifie la valeur de ma colonne
D.
Si la valeur de la cellule D = Clôturer, alors il doit, dans un
premier temps prendre la référence de la colonne A , puis me supprimer
la ligne Cloturer. Dans un second temps (la boucle dans la boucle), il
doit me supprimer toutes les lignes ayant comme valeur la reference
que je lui dit de prendre en A de ma ligne supprimer., et j'ai procédé
pour la premiere partie comme suit :

Dim nbligne As Long
Dim ref as string

nbligne = Range("A2").CurrentRegion.Rows.Count

For i = nbligne To 2 Step -1
If Cells(i, 4).Value = "Clôturer" Then
Cells(i, 1).Select
ref = Cells(i, 1).Value

'Ici je tente de mettre la seconde boucle dans la premiere

For i = nbligne to 2 Step -1
If cells (i,1).value = ref
then
Rows(i).EntireRow.Delete
End If
End if
Next i
Next i

Bien évidement cela ne marche pas il ne veut pas de deux for.
Quelqu'un aurait il une idée à me suggerer.

Je vous remercie par avance de vos réponses.

Cordialement.
Alex
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #20615231
Bonjour Alex,

| Bien évidement cela ne marche pas il ne veut pas de deux for

For i = nbligne to 2 Step -1
La raison, est que tu utilises 2 fois la même variable "i" pour chacune
des boucles dans des boucles imbriquées. Essaie en prenant une
variable différente pour chacune des boucles




"Alex"
Bonjour,

Je cherche de l'aide pour faire une boucle dans une boucle, et m'en
explique :

Dans une feuille, ma première boucle verifie la valeur de ma colonne
D.
Si la valeur de la cellule D = Clôturer, alors il doit, dans un
premier temps prendre la référence de la colonne A , puis me supprimer
la ligne Cloturer. Dans un second temps (la boucle dans la boucle), il
doit me supprimer toutes les lignes ayant comme valeur la reference
que je lui dit de prendre en A de ma ligne supprimer., et j'ai procédé
pour la premiere partie comme suit :

Dim nbligne As Long
Dim ref as string

nbligne = Range("A2").CurrentRegion.Rows.Count

For i = nbligne To 2 Step -1
If Cells(i, 4).Value = "Clôturer" Then
Cells(i, 1).Select
ref = Cells(i, 1).Value

'Ici je tente de mettre la seconde boucle dans la premiere

For i = nbligne to 2 Step -1
If cells (i,1).value = ref
then
Rows(i).EntireRow.Delete
End If
End if
Next i
Next i

Bien évidement cela ne marche pas il ne veut pas de deux for.
Quelqu'un aurait il une idée à me suggerer.

Je vous remercie par avance de vos réponses.

Cordialement.
Alex
Alex
Le #20615451
On 23 nov, 17:21, "michdenis"
Bonjour Alex,

| Bien évidement cela ne marche pas il ne veut pas de deux for

For i = nbligne to 2 Step -1
La raison, est que tu utilises 2 fois la même variable "i" pour chacune
des boucles dans des boucles imbriquées. Essaie en prenant une
variable différente pour chacune des boucles

"Alex"
Bonjour,

Je cherche de l'aide pour faire une boucle dans une boucle, et m'en
explique :

Dans une feuille, ma première boucle verifie la valeur de ma colonne
D.
Si la valeur de la cellule D = Clôturer, alors il doit, dans un
premier temps prendre la référence de la colonne A , puis me supprime r
la ligne Cloturer. Dans un second temps (la boucle dans la boucle), il
doit me supprimer toutes les lignes ayant comme valeur la reference
que je lui dit de prendre en A de ma ligne supprimer., et j'ai procéd é
pour la premiere partie comme suit :

Dim nbligne As Long
Dim ref as string

nbligne = Range("A2").CurrentRegion.Rows.Count

For i = nbligne To 2 Step -1
If Cells(i, 4).Value = "Clôturer" Then
Cells(i, 1).Select
ref = Cells(i, 1).Value

'Ici je tente de mettre la seconde boucle dans la premiere

    For i = nbligne to 2 Step -1
    If cells (i,1).value = ref
then
Rows(i).EntireRow.Delete
End If
End if
Next i
Next i

Bien évidement cela ne marche pas il ne veut pas de deux for.
Quelqu'un aurait il une idée à me suggerer.

Je vous remercie par avance de vos réponses.

Cordialement.
Alex



Merci beaucoup, ca marche beaucoup mieux en effet.
Publicité
Poster une réponse
Anonyme