Sélectionner et copier une plage de cellules

mikel831 Messages postés 237 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -

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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    (re)bonjour,

    d'où vient D10?

    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       

      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
      
      0
    2. mikel831 Messages postés 237 Date d'inscription   Statut Membre Dernière intervention   19
       

      C'est 3 colonnes après la colonne A

      0
    3. mikel831 Messages postés 237 Date d'inscription   Statut Membre Dernière intervention   19 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       

      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 "
       

      0
    4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > mikel831 Messages postés 237 Date d'inscription   Statut Membre Dernière intervention  
       

      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))
      0
    5. mikel831 Messages postés 237 Date d'inscription   Statut Membre Dernière intervention   19 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       

      Super: ça fonctionne parfaitement ....
      Désolé pour mon code un peu maladroit et pas très orthodoxe mais je suis de la génération des années 70, et j'ai fait mes études scientifiques à la Faculté des Sciences, à l'époque des IBM 1130 alimentés par des cartes perforées; on programmait en Fortran ... J'ai étudié un peu plus tard la programmation VBA, mais c'est très loin et j'ai peu pratiqué !
      Merci encore pour ton aide. Cordialement, Mikel 

      1