Copier Coller Tableaux dans un nouveau classeur

Résolu
NLAH Messages postés 135 Statut Membre -  
NLAH Messages postés 135 Statut Membre -
Bonjour,
Je suis débutante en vba et J'ai besoin d'aide pour faire une macro :
je voudrais copier 2 tableaux(le premier est dans la 1er feuille et le deuxième dans la 2ème feuille) vers un autre classeur dans la première feuille vide.

Prière de m'aider s'il veut plait

Merci

3 réponses

  1. Utilisateur anonyme
     
    Bonjour nihadlahit,

    Tu ne donnes pas assez d'informations ! Voir mon message #1.

    Et si tu débutes en VBA, il vaut mieux faire des exercices sur le
    même classeur Excel, et pas sur 2 classeurs différents ou plus !

    Aussi, je te propose de commencer à faire d'abord ton exercice
    « Coller un tableau sur une nouvelle feuille » (1 seul classeur).

    Cordialement.  😊
     
    0
  2. Utilisateur anonyme
     
    Rebonjour nihadlahit,

    Tu veux copier 2 tableaux d'un classeur déjà créé (le précédent)
    sur la nouvelle feuille vide d'un autre classeur ; mais tu dois
    choisir un nom pour ce nouveau classeur : lequel ? Et quel nom
    as-tu donné au classeur précédent ? À te lire, Cordialement.  😊
     
    0
  3. Utilisateur anonyme
     
    Rebonjour nihadlahit,

    J'espère que tu as réussi à finir ton 1er exercice ; pendant ce temps,
    j'ai travaillé sur ton 2ème exercice, que je viens de terminer.

    Pour cette nouvelle macro :

    Note bien qu'au départ, tu as obligatoirement dû ouvrir ce classeur
    source pour pouvoir exécuter la présente macro ; donc dans le code,
    inutile de chercher à ouvrir le classeur source car il est déjà chargé
    par Excel en mémoire vive (RAM), et tu es forcément déjà dessus.

    Cependant, il faut quand même le nom du classeur source, car il faut
    le référencer dès que tu passe sur le nouveau classeur ajouté.

    Pour passer d'un classeur à un autre au niveau d'Excel (c'est-à-dire pas
    au niveau du VBA) : onglet Affichage, groupe Fenêtre ; à droite et tout
    au bout : Changement de fenêtre ; choisis ton classeur dans la liste :
    celui-ci ou Classeur1 ; raccourci clavier correspondant :
    < Alt >< n >< n >

    
    Option Explicit
    
    
    Sub Essai()
      Const WbSource As String = "Exo 2 Nihadlahit - Copie tableaux"
      ' Un seul dlig suffit : pas besoin de dlig2
      Dim dlig As Long: Application.ScreenUpdating = False
      Workbooks.Add ' Ajout d'un nouveau classeur ; remarque bien qu'après
      ' l'ajout d'un nouveau classeur, on est dessus, et sur "Feuil1".
      With Workbooks(WbSource).Worksheets("Feuil1")
        dlig = .Range("H" & Rows.Count).End(xlUp).Row
        .Range("H1:L" & dlig).Copy [A1]
      End With
      With Workbooks(WbSource).Worksheets("Feuil2")
        dlig = .Range("A" & Rows.Count).End(xlUp).Row
        .Range("A5:D" & dlig).Copy [H1]
      End With
      '
      ' À ce stade, ton nouveau classeur est fait comme tu le veux, mais non enregistré ;
      ' à toi de choisir si tu fais un simple enregistrement manuel, ou si tu ajoutes
      ' une ligne ici pour sauvegarder automatiquement ton nouveau classeur ; mais
      ' c'est là que tu dois lui donner un nom, autre que "Classeur1"
      '
      ' Si ton nouveau classeur ne contiendra pas de macros, la ligne suivante mettra
      ' automatiquement l'extension ".xlsx"
      '
      ' ActiveWorkbook.SaveAs "Exo 2 Nihadlahit - Tableaux copiés"
      '
      ' Si ton nouveau classeur devra contenir au moins une macro, la ligne suivante
      ' mettra l'extension ".xlsm" ; 52 est plus court à mettre que la constante :
      ' xlOpenXMLWorkbookMacroEnabled
      '
      ' ActiveWorkbook.SaveAs "Exo 2 Nihadlahit - Tableaux copiés", 52
      '
      '
      ' Le nouveau classeur est sauvegardé dans le même dossier que celui où tu as mis
      ' le classeur source "Exo 2 Nihadlahit - Copie tableaux", donc probablement dans
      ' ton dossier "Mes documents" ; si tu veux choisir un autre dossier, à toi de
      ' l'indiquer explicitement, en ajoutant le bon chemin devant ; exemple :
      '
      ' ActiveWorkbook.SaveAs "C:\Users\nihadlahit\Documents\Sous-dossier X\Exo 2 Nihadlahit - Tableaux copiés", 52
      '
    End Sub
    
    

    Tu vois qu'une demande apparemment simple comme « enregistrer
    dans un nouveau classeur » nécessite beaucoup de renseignements
    supplémentaires...

    Si tu veux plus d'infos, n'hésite pas à me demander, mais je crois
    bien avoir mis tout ce qu'il faut. Si c'est réglé, merci de passer
    le sujet en résolu.

    Cordialement.  😊
     
    0
    1. NLAH Messages postés 135 Statut Membre 2
       
      Bonjour,
      s'il veut plait j'ai un petit souci,pouvez m'aider,je suis bloqué!!

      vous trouvez ci joint un fichier excel qui explique clairement mon besoin:

      https://www.cjoint.com/c/FHkbiIDLYbH




      cordialement
      0
    2. NLAH Messages postés 135 Statut Membre 2
       
      Merci infiniment pour tes explications , je vais essayé votre code concernant mon deuxième exercice
      0