Je fais un traitement sur une plage de cellules filtr=E9es par une
boucle :
For Each c In Columns("A").Rows
If Not c.EntireRow.Hidden Then
' ici mon traitement
Or le traitement peut d=E9truire la ligne.
Dans ce cas le curseur se retrouve sur la ligne suivante, et la boucle
fait passer =E0 la suivante. Donc si 2 lignes qui se suivent ne sont
pas cach=E9es, la 2e n'est pas trait=E9e.
Comment faire ?
Merci pour votre aide !
DoMi
PS : en faisant une recherhe sur "cellules filtr=E9es" je tombe sur des
demandes similaires que j'ai faites... en 2003 ! J'ai de la suite dans
les id=E9es !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
DanielCo
Bonjour,
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 If Cells(i, 1).hiddden Then 'ton traitement End If Next i
Cordialement. Daniel
Bonjour,
Je fais un traitement sur une plage de cellules filtrées par une boucle :
For Each c In Columns("A").Rows If Not c.EntireRow.Hidden Then
' ici mon traitement
Or le traitement peut détruire la ligne. Dans ce cas le curseur se retrouve sur la ligne suivante, et la boucle fait passer à la suivante. Donc si 2 lignes qui se suivent ne sont pas cachées, la 2e n'est pas traitée. Comment faire ?
Merci pour votre aide ! DoMi
PS : en faisant une recherhe sur "cellules filtrées" je tombe sur des demandes similaires que j'ai faites... en 2003 ! J'ai de la suite dans les idées !
Bonjour,
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 1).hiddden Then
'ton traitement
End If
Next i
Cordialement.
Daniel
Bonjour,
Je fais un traitement sur une plage de cellules filtrées par une
boucle :
For Each c In Columns("A").Rows
If Not c.EntireRow.Hidden Then
' ici mon traitement
Or le traitement peut détruire la ligne.
Dans ce cas le curseur se retrouve sur la ligne suivante, et la boucle
fait passer à la suivante. Donc si 2 lignes qui se suivent ne sont
pas cachées, la 2e n'est pas traitée.
Comment faire ?
Merci pour votre aide !
DoMi
PS : en faisant une recherhe sur "cellules filtrées" je tombe sur des
demandes similaires que j'ai faites... en 2003 ! J'ai de la suite dans
les idées !
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 If Cells(i, 1).hiddden Then 'ton traitement End If Next i
Cordialement. Daniel
Bonjour,
Je fais un traitement sur une plage de cellules filtrées par une boucle :
For Each c In Columns("A").Rows If Not c.EntireRow.Hidden Then
' ici mon traitement
Or le traitement peut détruire la ligne. Dans ce cas le curseur se retrouve sur la ligne suivante, et la boucle fait passer à la suivante. Donc si 2 lignes qui se suivent ne sont pas cachées, la 2e n'est pas traitée. Comment faire ?
Merci pour votre aide ! DoMi
PS : en faisant une recherhe sur "cellules filtrées" je tombe sur des demandes similaires que j'ai faites... en 2003 ! J'ai de la suite dans les idées !
Jacquouille
Bonjour Daniel a été plus rapide que moi (et meilleur) Dans ce genre de situation, lorsque l'on fait une boucle et que l'on "détruit" une ligne, Excel passe à la suivante... ce qui est logique. Donc, la 5 devient la 4. Or, la 4 vient d'être traitée ... Donc, Excel a un raté bien logique. C'est en fonction de cela que les "Grands" (ils me l'ont appris) prônent de commencer le test par la dernière ligne et de remonter la colonne avec le Step -1; tout cela, illustré par cette ligne de Daniel:
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
Bonne journée
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "DoMi" a écrit dans le message de groupe de discussion :
Bonjour,
Je fais un traitement sur une plage de cellules filtrées par une boucle :
For Each c In Columns("A").Rows If Not c.EntireRow.Hidden Then
' ici mon traitement
Or le traitement peut détruire la ligne. Dans ce cas le curseur se retrouve sur la ligne suivante, et la boucle fait passer à la suivante. Donc si 2 lignes qui se suivent ne sont pas cachées, la 2e n'est pas traitée. Comment faire ?
Merci pour votre aide ! DoMi
PS : en faisant une recherhe sur "cellules filtrées" je tombe sur des demandes similaires que j'ai faites... en 2003 ! J'ai de la suite dans les idées !
Bonjour
Daniel a été plus rapide que moi (et meilleur)
Dans ce genre de situation, lorsque l'on fait une boucle et que l'on
"détruit" une ligne, Excel passe à la suivante... ce qui est logique. Donc,
la 5 devient la 4. Or, la 4 vient d'être traitée ...
Donc, Excel a un raté bien logique.
C'est en fonction de cela que les "Grands" (ils me l'ont appris) prônent de
commencer le test par la dernière ligne et de remonter la colonne avec le
Step -1; tout cela, illustré par cette ligne de Daniel:
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
Bonne journée
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"DoMi" a écrit dans le message de groupe de discussion :
a954f19d-332a-47cf-af11-e1a87237b5c2@n5g2000vbk.googlegroups.com...
Bonjour,
Je fais un traitement sur une plage de cellules filtrées par une
boucle :
For Each c In Columns("A").Rows
If Not c.EntireRow.Hidden Then
' ici mon traitement
Or le traitement peut détruire la ligne.
Dans ce cas le curseur se retrouve sur la ligne suivante, et la boucle
fait passer à la suivante. Donc si 2 lignes qui se suivent ne sont
pas cachées, la 2e n'est pas traitée.
Comment faire ?
Merci pour votre aide !
DoMi
PS : en faisant une recherhe sur "cellules filtrées" je tombe sur des
demandes similaires que j'ai faites... en 2003 ! J'ai de la suite dans
les idées !
Bonjour Daniel a été plus rapide que moi (et meilleur) Dans ce genre de situation, lorsque l'on fait une boucle et que l'on "détruit" une ligne, Excel passe à la suivante... ce qui est logique. Donc, la 5 devient la 4. Or, la 4 vient d'être traitée ... Donc, Excel a un raté bien logique. C'est en fonction de cela que les "Grands" (ils me l'ont appris) prônent de commencer le test par la dernière ligne et de remonter la colonne avec le Step -1; tout cela, illustré par cette ligne de Daniel:
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
Bonne journée
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "DoMi" a écrit dans le message de groupe de discussion :
Bonjour,
Je fais un traitement sur une plage de cellules filtrées par une boucle :
For Each c In Columns("A").Rows If Not c.EntireRow.Hidden Then
' ici mon traitement
Or le traitement peut détruire la ligne. Dans ce cas le curseur se retrouve sur la ligne suivante, et la boucle fait passer à la suivante. Donc si 2 lignes qui se suivent ne sont pas cachées, la 2e n'est pas traitée. Comment faire ?
Merci pour votre aide ! DoMi
PS : en faisant une recherhe sur "cellules filtrées" je tombe sur des demandes similaires que j'ai faites... en 2003 ! J'ai de la suite dans les idées !
DoMi
On 21 déc, 12:08, DanielCo wrote:
Bonjour,
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 If Cells(i, 1).hiddden Then 'ton traitement End If Next i
Cordialement. Daniel
> Bonjour,
> Je fais un traitement sur une plage de cellules filtrées par une > boucle :
> For Each c In Columns("A").Rows > If Not c.EntireRow.Hidden Then
> ' ici mon traitement
> Or le traitement peut détruire la ligne. > Dans ce cas le curseur se retrouve sur la ligne suivante, et la boucle > fait passer à la suivante. Donc si 2 lignes qui se suivent ne sont > pas cachées, la 2e n'est pas traitée. > Comment faire ?
> Merci pour votre aide ! > DoMi
> PS : en faisant une recherhe sur "cellules filtrées" je tombe sur des > demandes similaires que j'ai faites... en 2003 ! J'ai de la suite dans > les idées !
En fait, il faut traiter le problème à l'envers ! ;-) Mais comme je traite les cellules non cachées, il faut: If Not Cell(i, 1).Hidden then ...
Merci ! DoMi
On 21 déc, 12:08, DanielCo <dcolardelle...@free.fr> wrote:
Bonjour,
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 1).hiddden Then
'ton traitement
End If
Next i
Cordialement.
Daniel
> Bonjour,
> Je fais un traitement sur une plage de cellules filtrées par une
> boucle :
> For Each c In Columns("A").Rows
> If Not c.EntireRow.Hidden Then
> ' ici mon traitement
> Or le traitement peut détruire la ligne.
> Dans ce cas le curseur se retrouve sur la ligne suivante, et la boucle
> fait passer à la suivante. Donc si 2 lignes qui se suivent ne sont
> pas cachées, la 2e n'est pas traitée.
> Comment faire ?
> Merci pour votre aide !
> DoMi
> PS : en faisant une recherhe sur "cellules filtrées" je tombe sur des
> demandes similaires que j'ai faites... en 2003 ! J'ai de la suite dans
> les idées !
En fait, il faut traiter le problème à l'envers ! ;-)
Mais comme je traite les cellules non cachées, il faut:
If Not Cell(i, 1).Hidden then
...
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 If Cells(i, 1).hiddden Then 'ton traitement End If Next i
Cordialement. Daniel
> Bonjour,
> Je fais un traitement sur une plage de cellules filtrées par une > boucle :
> For Each c In Columns("A").Rows > If Not c.EntireRow.Hidden Then
> ' ici mon traitement
> Or le traitement peut détruire la ligne. > Dans ce cas le curseur se retrouve sur la ligne suivante, et la boucle > fait passer à la suivante. Donc si 2 lignes qui se suivent ne sont > pas cachées, la 2e n'est pas traitée. > Comment faire ?
> Merci pour votre aide ! > DoMi
> PS : en faisant une recherhe sur "cellules filtrées" je tombe sur des > demandes similaires que j'ai faites... en 2003 ! J'ai de la suite dans > les idées !
En fait, il faut traiter le problème à l'envers ! ;-) Mais comme je traite les cellules non cachées, il faut: If Not Cell(i, 1).Hidden then ...