Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Deux boucle en 1

2 réponses
Avatar
Alex
Bonjour,

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

Dans une feuille, ma premi=E8re boucle verifie la valeur de ma colonne
D.
Si la valeur de la cellule D =3D Cl=F4turer, alors il doit, dans un
premier temps prendre la r=E9f=E9rence 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=E9d=E9
pour la premiere partie comme suit :

Dim nbligne As Long
Dim ref as string

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

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

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

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

Bien =E9videment cela ne marche pas il ne veut pas de deux for.
Quelqu'un aurait il une id=E9e =E0 me suggerer.

Je vous remercie par avance de vos r=E9ponses.

Cordialement.
Alex

2 réponses

Avatar
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" a écrit dans le message de groupe de discussion :

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
Avatar
Alex
On 23 nov, 17:21, "michdenis" wrote:
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" a écrit dans le message de groupe de discussi on :

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.