OVH Cloud OVH Cloud

Cellules visibles dans un Range

1 réponse
Avatar
Guillaume LUCAS
Bonjour,

Avec la commande suivante (donn=E9e dans un pr=E9cd=E9dent msg)

Set MyRange =3D Selection.SpecialCells(xlCellTypeVisible)

Mon objet range ne contient que les premi=E8res lignes non=20
vides si je fait un acc=E8s par MyRange.Value(R, L).
Pourtant lorsque je copie cette objet dans le classeur=20
Excel je retrouve bien toutes les cellules non vide les=20
unes =E0 la suite des autres.
J'ai besoin pour un traitement avec VB de pourvoir=20
acc=E9der =E0 toutes les cellules non vides les unes =E0 la=20
suite des autres. Donc il me faut obtenir toutes les=20
cellules non vides et pas seulement les premi=E8res. Notez=20
que retrouver le r=E9sultat dans un tableau plut=F4t qu'un=20
Range m'arragerai aussi :)

Si quelqu'un voit comment faire.

Merci pour votre aide.
Guillaume

1 réponse

Avatar
Jean-François Aubert
Salut Guillaume,

Peut-être quelque chose comme ceci ?

'************************************
Option Base 1
Public tbl()

Sub macroA()

Dim cnt As Integer
ReDim tbl(1)

Set MyRange = Selection.SpecialCells(xlCellTypeVisible)

For Each c In MyRange
cnt = cnt + 1
ReDim Preserve tbl(cnt)
tbl(cnt) = c
Next

macroB
End Sub
'.........................................................

Sub macroB()
Dim i

For i = 1 To UBound(tbl)
MsgBox tbl(i)
Next
End Sub
'********************************

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Guillaume LUCAS" a écrit dans le message de
news:0dc301c34d33$db62c520$
Bonjour,

Avec la commande suivante (donnée dans un précdédent msg)

Set MyRange = Selection.SpecialCells(xlCellTypeVisible)

Mon objet range ne contient que les premières lignes non
vides si je fait un accès par MyRange.Value(R, L).
Pourtant lorsque je copie cette objet dans le classeur
Excel je retrouve bien toutes les cellules non vide les
unes à la suite des autres.
J'ai besoin pour un traitement avec VB de pourvoir
accéder à toutes les cellules non vides les unes à la
suite des autres. Donc il me faut obtenir toutes les
cellules non vides et pas seulement les premières. Notez
que retrouver le résultat dans un tableau plutôt qu'un
Range m'arragerai aussi :)

Si quelqu'un voit comment faire.

Merci pour votre aide.
Guillaume