Correction.
Les 3 syntaxes suivantes sont correctes en VBA.
1 2 3 4 5 6
|
a = Worksheets("2015").range("E18")
a = feuil4.range("E18")
a = range("2015!E18") |
Je connaissais la premiere et la deuxieme mais je n'avais jamais rencontre la troisieme. Merci de me la faire decouvrir.
Dans ton probleme,
texte = Range("onglet" & "!" & "colonne" & Range("A3").Value)
tu utilises 2 syntaxes : la troisieme - range("onglet!colonne ligne") - et une autre - Range("A3") - celle-ci etant soit la premiere syntaxe, soit la deuxieme. On ne sait pas vraiment laquelle car tu n'y as pas mis de reference a un onglet.
Ceci etant dit, ton code fonctionnerait mieux comme ceci :
1 2 3 4 5 6
|
onglet = "2015"
colonne = "E"
jour = Sheets("Feuil1").Cells(3, 1).Value
texte = Range(onglet & "!" & colonne & jour) |
Tu vois que les mots onglet, colonne et jour ne sont pas entre parentheses car ces mots ne sont pas du texte mais des variables qui contiennent une valeur.
Personnellement, je prefererais la premiere syntaxe. Question d'habitude je suppose car les autres syntaxes sont tout aussi valables.
J'ecrirais :
texte = Worksheets(onglet).Range(colonne & ligne).Value
Partager