Sélectionner et copier une plage de cellules

Bonjour,
Dans un code Excel vba, j'ai défini dans Feuil2  deux objets Range nommés Debut et Fin . En supposant par exemple que:
* Debut soit la cellule A1
* Fin soit la cellule A10
1) comment définir l'objet Range nommé MaPlage qui serait la zone A1:D10
2) pour ensuite la copier et la coller dans la feuil1 en cellule E300 (par exemple)


Windows / Chrome 123.0.0.0

1 réponse

  1. Contributeur

    (re)bonjour,

    d'où vient D10?

    1. Contributeur

      un exemple:

      Option Explicit
      
      Private Sub tt()
      Dim debut As Range, fin As Range, maplage As Range
      Set debut = Sheets("2").[a1]
      Set fin = Sheets("2").[d10]
      Set maplage = Range(debut, fin)
      maplage.Copy Sheets("1").[f12]
      End Sub
      
    2. C'est 3 colonnes après la colonne A

    3. @yg_be

      Merci pour ta réponse!
      Mais les adresses A1 et D10 sont des exemples pour imager le problème.
      En fait j'ai du code qui détermine les deux Range Debut et Fin ! 
      Je ne sais pas comment coder la définition de MaPlage que j'exprimerais en langage courant par " sélectionner la plage de cellules de Début à Fin+3 colonnes "
       

    4. Contributeur
      @mikel831

      Ce serait plus simple si tu donnais le code que tu as déjà.

      Tu as déjà oublié la fonction offset()?

      Set maplage = Range(debut, fin.Offset(,3))
    5. @yg_be

      Non, je ne l'ai pas oubliée: je l'ai utilisée pour définir le range Fin: voici le code:

      Dim MaPlage, Debut, Fin As Range
      Set Debut = Sheets("Feuil2").UsedRange.Find("N°")
      Debut.Select
      For i = 1 To 15
          ActiveCell.Offset(1, 0).Activate
          If IsNumeric(ActiveCell.Value) = False Then Exit For
      Next
      Set MaPlage = Range(Debut, Fin.Offset(, 3))

      ça bugge sur la dernière ligne ???