Adressage par range sur une autre feuille

Résolu
Bonjour,
En VBA, je voudrais adresser, depuis une feuille, une cellule d'une autre feuille mais dont le n° de ligne est une variable, noligne, que j'incrémente de 1 à n

Ma cellule est donc "D"& noligne Elle se trouve dans "feuille2"

et je veux écrire sur feuille1 un truc du genre If Range ("feuille2!D"&noligne) <>"";... ; ...)

Sauf que ma syntaxe est toujours fausse because les parenthèses, les quottes et double quottes

Qui peut m'éclairer ?
D'avance, merci
Roland

3 réponses

  1. Bonjour

    Essaies

    if Sheets("feuille2").Range("D" & noligne) <> "" then 
    instruction1
    else
    instruction2
    End if

    Cdlmnt
    0
    1. Salut !

      Il faut placer la référence de la feuille avant la Range, tu type :

      If Sheets("Feuil1").Range(...

      Ou alors pour garder la même référence sur toute une partie du code, tu l'encadres par :
      With [ton référentiel]
      (ton code)
      End With

      Si tu veux changer de feuille à l'intérieure d'une même ligne, ça reste possible, mais pas à l'intérieure d'une même désignation à ma connaissance. En clair, tu peux faire ça:
      If Sheets("Feuil1").Range(...) [...] Sheets("Feuil2").Range(...) [...]

      Par contre tu ne peux pas faire cela :
      If Range(Sheets("Feuil1") [...] Sheets("Feuil2")) ...

      Cela te convient ^^' ?
      0
      1. Merciiiiiiiiiiiiiii, Théo, pour la rapidité de ta réponse.

        Je mets tout de suite ce bateau à l'eau. Et sans nouvelle de ma part, c'est que tout nage à la perfection.
        Encore merci et bravo. Ce site est une merveille de gentillesse et de... compétences !

        C'est magique!
        Roland
        0
        1. Pas de souci, ravi de voir que je ne suis pas le seul à apprécier ce site pour ces mêmes raisons ! :-)

          P.S: si la réponse te convient, merci de valider le sujet comme Résolu ;)
          0