VBA : assigner un range à un range

Bonjour à tous,

21test-range.xlsm (25.03 Ko)

Je cherche à créer une procédure VBA plutôt simple mauis qui me pose problème :

Je veux définir un range de date (qui dépend de la position de la première date que j'ai nommé "Dates_source_position") qui serait applicable dans d'autre onglet de mon classeur. Mais visiblement la variable MyDate que j'ai crée (c'est le range entier) ne contient rien car lorsque j'établis que MyDate = Cellule de réception, je n'obtiens rien dans les cellules de réception.

Quelqu'un aurait-il une solution ?

Sub testRangeDates()

Dim PositionDate As Range

Dim MyDate As Variant

'definition nom de plage et du range entier

Set PositionDate = SH_DatesSources.Cells(Range("Dates_source_position").Row, Range("Dates_source_position").Column)

Set MyDate = Range(PositionDate, PositionDate.End(xlDown))

'création du range cible qui s'ajuste selon la taille du range source est qui récupère la valeur de mon range source

SH_reception2.Range("A4").Resize(MyDate.Rows.Count).Value = MyDate

End Sub

Bonjour

Ci joint une proposition a tester et aménager

Pour recupérer des variables dans les autres procédures dun classeur il faut les déclarer en Public vvv as YYY

Cordialement

FINDRH

15test-range.xlsm (27.31 Ko)

Bonjour FINDRH,

Merci de ton aide.

Malheureusement, ton code ne me permet pas d'arriver à mes fins. (Je ne cherche ni à faire de copier/coller, ni à travailler dans le même onglet : ça je sais faire ;))

Merci de l'astuce pour la déclaration de variable

J'ai finalement réussi merci

Parfait

Merci de clore le sujet

Bonne continuation

FINDRH

Rechercher des sujets similaires à "vba assigner range"