Bonjour,
Je ne sais pas si mon titre est explicite alors je vais aller directement au problème
Dans un module VBA je souhaite écrire dans des cellules des adressages indirects.
Exemple qui fonctionne:
y: ligne qui s'incrémente
G1 & G2: coordonnées de cellules qui contiennent respectivement des nombres qui seront repris dans l'adresse indirecte
Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part Range("F" & y) = "=""Datas!$"" & $E$" & y & " & G1 & "":$"" & $E$" & y & "& G2"
Ce qui donne dans la feuille Excel ce résultat correct:
Formule de la cellule:
Qui donne ce résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part ="Datas!$" & $E$58 & G1 & ":$" & $E$58& G2pour des cellules G1 de valeur 8651 et G2 de 10084
Tout fonctionne à merveille (même si j'ai bien noté que des $ étaient en double), la colonne renvoyée "AC" est le résultat correct (valeur de la cellule cible)
J'ai voulu faire pratiquement la même chose mais en mettant le nom de la feuille dans une variable
qui se nomme: Onglet_data
Et c'est là que ça se complique !!
Si j'écris:
Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part Range("F" & y) = "=""" & Onglet_data & "!"" & ""$E$"" & y & G1 & "":$"" & ""E$"" & y & G2"
je me retrouve avec cette formule dans la cellule:
(Datas_DE01 est le nom de la feuille, pas de problème)
Code : Sélectionner tout - Visualiser dans une fenêtre à part ="Datas_DE01!" & "$E$" & y & G1 & ":$" & "E$" & y & G2
On constate que la variable "y" est présente !! (alors que précédemment c'était seulement sa valeur qui était concaténée à la chaine "$E$"
Forcément la cellule me renvoie un "#VALEUR!"
J'ai essayé une multitude de combinaisons qui se soldent par une erreur VBA du style :
Je ne sais plus comment faire !!
Pouvez-vous m'aider !!!!
@+
Nono
Partager