Je souhaite affecter à un tableau (array) les adresses des cellules contenu
dans un range ... j'ai cherché sur excelabo et chez frédéric sans succés :-(
Voilà ou j'en suis :
Dim EnsVisibles As Range
Dim EnteteEnsVisibles As Range
Dim TabloAdresseEns 'As String
Set EnsVisibles = [Ensembles!A1].CurrentRegion.Offset(1,
0).Resize([Ensembles!A1].CurrentRegion.Rows.Count -
1).SpecialCells(xlVisible)
Set EnteteEnsVisibles = EnsVisibles.Resize(EnsVisibles.Rows.Count, 1)
ReDim TabloAdresseEns(1 To EnteteEnsVisibles.Count)
TabloAdresseEns = EnteteEnsVisibles.Address
Avec ça, TabloAdresseEns contient "$A$2:$A$4" alors que je voudrais
TabloAdresseEns (1) = $A$2
TabloAdresseEns (2) = $A$3
TabloAdresseEns (3) = $A$4
Comment faire ?
Suis je obligé de boucler sur la plage pour affecter les adresses des
cellules les unes après les autres ?
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
PMO
Bonjour,
Une piste avec votre code modifié.
'********** Sub a() Dim EnsVisibles As Range Dim EnteteEnsVisibles As Range Dim TabloAdresseEns() As String Dim C As Range Dim i& Set EnsVisibles = [Ensembles!A1].CurrentRegion _ .Offset(1, 0).Resize([Ensembles!A1] _ .CurrentRegion.Rows.Count - 1) _ .SpecialCells(xlVisible) Set EnteteEnsVisibles = EnsVisibles _ .Resize(EnsVisibles.Rows.Count, 1)
For Each C In EnteteEnsVisibles i& = i& + 1 ReDim Preserve TabloAdresseEns(1 To i&) TabloAdresseEns(i&) = C.Address Next C End Sub '**********
Cordialement. -- PMO Patrick Morange
Bonjour à tous,
Je souhaite affecter à un tableau (array) les adresses des cellules contenu dans un range ... j'ai cherché sur excelabo et chez frédéric sans succés :-( Voilà ou j'en suis :
Dim EnsVisibles As Range Dim EnteteEnsVisibles As Range Dim TabloAdresseEns 'As String
Set EnsVisibles = [Ensembles!A1].CurrentRegion.Offset(1, 0).Resize([Ensembles!A1].CurrentRegion.Rows.Count - 1).SpecialCells(xlVisible)
Set EnteteEnsVisibles = EnsVisibles.Resize(EnsVisibles.Rows.Count, 1)
ReDim TabloAdresseEns(1 To EnteteEnsVisibles.Count)
TabloAdresseEns = EnteteEnsVisibles.Address
Avec ça, TabloAdresseEns contient "$A$2:$A$4" alors que je voudrais TabloAdresseEns (1) = $A$2 TabloAdresseEns (2) = $A$3 TabloAdresseEns (3) = $A$4
Comment faire ? Suis je obligé de boucler sur la plage pour affecter les adresses des cellules les unes après les autres ?
Merci pour votre aide @+lolo
Bonjour,
Une piste avec votre code modifié.
'**********
Sub a()
Dim EnsVisibles As Range
Dim EnteteEnsVisibles As Range
Dim TabloAdresseEns() As String
Dim C As Range
Dim i&
Set EnsVisibles = [Ensembles!A1].CurrentRegion _
.Offset(1, 0).Resize([Ensembles!A1] _
.CurrentRegion.Rows.Count - 1) _
.SpecialCells(xlVisible)
Set EnteteEnsVisibles = EnsVisibles _
.Resize(EnsVisibles.Rows.Count, 1)
For Each C In EnteteEnsVisibles
i& = i& + 1
ReDim Preserve TabloAdresseEns(1 To i&)
TabloAdresseEns(i&) = C.Address
Next C
End Sub
'**********
Cordialement.
--
PMO
Patrick Morange
Bonjour à tous,
Je souhaite affecter à un tableau (array) les adresses des cellules contenu
dans un range ... j'ai cherché sur excelabo et chez frédéric sans succés :-(
Voilà ou j'en suis :
Dim EnsVisibles As Range
Dim EnteteEnsVisibles As Range
Dim TabloAdresseEns 'As String
Set EnsVisibles = [Ensembles!A1].CurrentRegion.Offset(1,
0).Resize([Ensembles!A1].CurrentRegion.Rows.Count -
1).SpecialCells(xlVisible)
Set EnteteEnsVisibles = EnsVisibles.Resize(EnsVisibles.Rows.Count, 1)
ReDim TabloAdresseEns(1 To EnteteEnsVisibles.Count)
TabloAdresseEns = EnteteEnsVisibles.Address
Avec ça, TabloAdresseEns contient "$A$2:$A$4" alors que je voudrais
TabloAdresseEns (1) = $A$2
TabloAdresseEns (2) = $A$3
TabloAdresseEns (3) = $A$4
Comment faire ?
Suis je obligé de boucler sur la plage pour affecter les adresses des
cellules les unes après les autres ?
'********** Sub a() Dim EnsVisibles As Range Dim EnteteEnsVisibles As Range Dim TabloAdresseEns() As String Dim C As Range Dim i& Set EnsVisibles = [Ensembles!A1].CurrentRegion _ .Offset(1, 0).Resize([Ensembles!A1] _ .CurrentRegion.Rows.Count - 1) _ .SpecialCells(xlVisible) Set EnteteEnsVisibles = EnsVisibles _ .Resize(EnsVisibles.Rows.Count, 1)
For Each C In EnteteEnsVisibles i& = i& + 1 ReDim Preserve TabloAdresseEns(1 To i&) TabloAdresseEns(i&) = C.Address Next C End Sub '**********
Cordialement. -- PMO Patrick Morange
Bonjour à tous,
Je souhaite affecter à un tableau (array) les adresses des cellules contenu dans un range ... j'ai cherché sur excelabo et chez frédéric sans succés :-( Voilà ou j'en suis :
Dim EnsVisibles As Range Dim EnteteEnsVisibles As Range Dim TabloAdresseEns 'As String
Set EnsVisibles = [Ensembles!A1].CurrentRegion.Offset(1, 0).Resize([Ensembles!A1].CurrentRegion.Rows.Count - 1).SpecialCells(xlVisible)
Set EnteteEnsVisibles = EnsVisibles.Resize(EnsVisibles.Rows.Count, 1)
ReDim TabloAdresseEns(1 To EnteteEnsVisibles.Count)
TabloAdresseEns = EnteteEnsVisibles.Address
Avec ça, TabloAdresseEns contient "$A$2:$A$4" alors que je voudrais TabloAdresseEns (1) = $A$2 TabloAdresseEns (2) = $A$3 TabloAdresseEns (3) = $A$4
Comment faire ? Suis je obligé de boucler sur la plage pour affecter les adresses des cellules les unes après les autres ?
Merci pour votre aide @+lolo
-=lolol=-
Bonjour PMO,
... je suis donc obligé de boucler :-( adepte de l'économie de la nanoseconde j'eus préféré m'en passer mébon (comme dirait l'autre) :-)
mille mercis pour ton aide @+lolo
Bonjour PMO,
... je suis donc obligé de boucler :-(
adepte de l'économie de la nanoseconde j'eus préféré m'en passer
mébon (comme dirait l'autre) :-)