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

selections dans une "for each c in plage" ...

2 réponses
Avatar
Alfred WALLACE
Bonjour:-)

vioci ma boucle :

Sub test_parcourrir_lazone_select()

Dim plage As Range
Dim c As Range
Set plage =3D Range("A11",
Range("A65536").End(xlUp)).SpecialCells(xlCellTypeVisible)
i =3D 0
For Each c In plage
Set plage =3D Range("A11",
Range("A65536").End(xlUp)).SpecialCells(xlCellTypeVisible)

Next c

End Sub

celle-ci me permets, pour chaque cellules de la colonne A de faire des
tests.
ce que je ne sais pas, c'est comment tester des cellules "autour" de c
???

exemple:
si la cellule en dessous est =E9gale =E0 c.value alors je supprime la
ligne en dessous.

oubien

si la valeur de la 5eme colonne =E0 droite est "toto" alors recopier
dans la 5eme colonne
la valeur de la ligne en dessous....


Bref, comment, =E0 partir de c.value, je teste des cellules ailleurs ?



Merci


Jos=E9

2 réponses

Avatar
JpPradier
Bonjour José

Tu peux utiliser Offset(Ligne,Colonne). Par exemple pour la cellule du dessous :
C.Offset(1,0)
Pour la 5e à droite : C.Offset(0,5)
Pour celle de gauche :c.Offset(0,-1)

j-p
Avatar
JLuc
Alfred WALLACE avait soumis l'idée :
Sub test_parcourrir_lazone_select()

Dim plage As Range
Dim c As Range
Set plage = Range("A11",
Range("A65536").End(xlUp)).SpecialCells(xlCellTypeVisible)
i = 0
For Each c In plage
' Fais attetion, a ce niveau tu declare une deuxieme variable "plage"

Set plage = Range("A11",
Range("A65536").End(xlUp)).SpecialCells(xlCellTypeVisible)
c.Offset(1,0) 'au dessous => une ligne + bas

c.Offset(0,1) 'a droite => une colonne a droite
c.Offset(-1,0)'au dessus => une ligne + haut
c.Offset(0,-1)'a gauche => une colmonne a gauche
...
...

Next c

End Sub

celle-ci me permets, pour chaque cellules de la colonne A de faire des
tests.
ce que je ne sais pas, c'est comment tester des cellules "autour" de c
???

exemple:
si la cellule en dessous est égale à c.value alors je supprime la
ligne en dessous.

oubien

si la valeur de la 5eme colonne à droite est "toto" alors recopier
dans la 5eme colonne
la valeur de la ligne en dessous....


Bref, comment, à partir de c.value, je teste des cellules ailleurs ?



Merci


José



--
JLuc