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 :)
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
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
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" <guillaume.lucas@club-internet.fr> a écrit dans le message de
news:0dc301c34d33$db62c520$a401280a@phx.gbl...
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 :)
'************************************ 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 :)