Plage de cellules (adresse relative) dans une seule variable VBA ?

Besnard68

XLDnaute Occasionnel
Bonsoir le Forum,

J'avais, il y a quelque temps, posé la question du stockage et de la restitution d'une plage de cellules d'une feuille excel, via l'utilisation d'une seule variable VBA.
Cela marche très bien, à la condition que les cellules en question soient formellement adressées [exemple : sheets(1).range("A1:B2") ] et que le 'retour' se fasse vers une plage de dimension ET d'orientation identiques [ exemple : range("C10 : D10"). (soit horizontal --> horizontal)

Existe t'il une possibilité de faire de même (c-à-d utiliser une seule variable en VBA) mais pour une plage de cellules dont l'adresse serait relative du type (activecell.offset(0,1):activecell.offset(0,2)) ET EN PLUS à destination d'une plage orientée verticalement (du type range("C10:C11") ?


Merci d'avance pour votre aide.
 

skoobi

XLDnaute Barbatruc
Re : Plage de cellules (adresse relative) dans une seule variable VBA ?

Bonjour,
si j'ai bien compris:


Code:
Set plage = Range(Activecell.Offset(0 , 1)[COLOR="Red"][B],[/B][/COLOR]Activecell.Offset(0 , 2))

puis

Code:
range("C10:C11").FormulaArray = "=TRANSPOSE(" & plage.Address & ")"
 

Besnard68

XLDnaute Occasionnel
Re : Plage de cellules (adresse relative) dans une seule variable VBA ?

Bonjour Skoobi, Forum,

Ta solution fonctionne effectivement bien.

Seulement, je souhaiterais effectuer la même chose, mais en copiant directement les valeurs et non des formules, car dans la solution que tu propose, une range vide se retrouve en final avec une valeur 'zéro'.

Existe t'il l'équivalent mais pour les valeurs ?


En tous cas merci pour cette solution que je ne connaissais pas.

Bonne journée.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 508
Messages
2 089 143
Membres
104 050
dernier inscrit
Pepito93100