Recopier valeur dans cellule à référence variable

Bonjour à l'équipe.

J'ai problème pour recopier une valeur source dans une cellule cible dont la référence est variable et donc définie conditionnellement dans une sous-routine.

Exemple: la variable ImS est définie comme colonne source G, L ou Q dans une procédure.

Code fautif: Range(ImS & LignTrt).Copy Range("G" & LignCbl)

ici on recopie la valeur Source de la ligne traitée vers la cellule cible de la ligne cible en colonne G.

Là j'ai une ERREUR 1004 "Méthode Range a échoué" à cause de cette variable (déclarée publique) ImS

Si ImS est remplacé par le nom de la colonne source , "L" par exemple, ça marche mais , dans mon cas, le nom de cette colonne source à lire et recopier doit changer suivant une condition écrite dans une sous-routine: si jour = 1 alors ImS = G, si jour = 2 alors Ims = L, si Jour = 3 alors Ims = Q, ...

Merci si vous avez une piste

Fichier test en annexe

23forum00.xlsm (55.29 Ko)

Bonjour

Quelques corrections à faire dans les codes :

Sub Source_Cible()

If jour = 1 Then
HrS = "C"  'Heures source
TyS = "F"  'Type Source
ImS = "G"  'Imputation source
HrC = "K"  'Heures cibles

ElseIf jour = 2 Then
HrS = "H"  'Heures source"
TyS = "K"  'Type Source
ImS = "L"  'Imputation source
HrC = "L"  'Heures cibles

ElseIf jour = 3 Then
HrS = "M"  'Heures source
TyS = "P"  'Type Source
ImS = "Q"  'Imputation source
HrC = "M"  'Heures cibles"

End If
End Sub

Ensuite corriger ceci :

If Range("S" & LignTrt) <> "" And Len(Range(ImS & LignTrt).Value) > 0 Then
Range("C" & LignCbl) = LignTrt

A te relire

Crdlt

Hello DAn,

Je venais juste de faire l'essai en ajoutant des " " dans la procédure Source_Cible.

En effet, ca marche )

Merciiiiiiiiii

et il y avait aussi l'erreur d'un "e" de trop dans la commande ("C" & LignCbl) = LigneTrt

Merci a toi et ta clairevoyance )

Rechercher des sujets similaires à "recopier valeur reference variable"