Définir plage variable

Bonjour,

Je souhaite définir une plage qui peut être variable,

Par exemple d'une cellule que je demande à trouver, ici W300.Cells(i, 2)

Et donc de définir une plage de cette cellule W300.Cells(i, 2) jusqu'à la dernière non vide.

Mais ma plage ne fonctionne pas "La méthode Range de l'objet a échouée".

Set début = W300.Cells(i, 2)
Set fin = W300.Range("B" & Rows.Count).End(xlUp)
Set plage = W300.Range("début:fin")

Quelqu'un peut me donner des pistes ?

Merci

Bonjour,

Erreur désolé

ric

Bonjour cleiiim, ric, le forum,

Peut-être ainsi:

      début = Sheets("W300").Cells(i, 2).Address
        fin = Sheets("W300").Range("B" & Rows.Count).End(xlUp).Address
  Set plage = Sheets("W300").Range(début & ":" & fin)

Cordialement,

Merci pour ce retour,

Hélas non j'ai le même soucis ...

Re,

Hélas non j'ai le même soucis ...

A quoi correspond i ?

Ci-joint un exemple....

8classeur1.xlsm (19.37 Ko)

Cordialement,

C'est bon ça fonctionne nickel comme ceci :

début = W300.Cells(i, 2).Address
                 fin = W300.Range("B" & Rows.Count).End(xlUp).Address
                 Set plage = W300.Range(début & ":" & fin)
                 plage.Select

J'avais un soucis de variable ...

Merci !

En fait je ne comprends pas.

Quand je fais le pas à pas en étant sur la feuille concernée juste au moment du "plage.select" ça fonctionne par contre quand je me mets sur mon autre feuille de départ ça ne fonctionne pas.

Alors que toutes mes feuilles sont bien définies y compris dans la macro

Je joins mon fichier pour que ce soit + explicite. Il faut sélectionner la deuxième ligne de la feuille Rapport de déchargement pour que ça fonctionne.

5tc.zip (201.37 Ko)

Re,

Si j'ai bien compris, tu lances la macro IMPORT_TC() depuis la feuille Rapport de déchargement afin qu'elle agisse sur la feuille 300+ ?

Essaie de rajouter

.activate

sous

With W300

Cordialement,

Oui c'est bien ça

ça fonctionne ! merci beaucoup

Cleiiim

Rechercher des sujets similaires à "definir plage variable"