IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Copier une feuille excel à partir d'un classeur fermé vers le classeur actif


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 8
    Points
    8
    Par défaut Copier une feuille excel à partir d'un classeur fermé vers le classeur actif
    bonjour tout le monde

    Ma question peut vous paraître évidente et traitée plusieurs fois mais j'arrive pas à la résoudre:
    comment copier une feuille excel à partir d'un classeur fermé vers mon classeur actif (à partir duquel j'exécute ma macro) ?

    J'attends impatiemment vos réponses.
    Merci beacoup

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Tu ne peux pas copier une feuille d'un classeur fermé. Au mieux, tu peux copier les valeurs d'une plage de cellules. Tu ne peux pas avoir accès à tout ce qui est autre (formats, graphiques, formes etc.). Pourquoi ne veux-tu pas ouvrir le classeur ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    merci Daniel,

    Mais même en ouvrant l'autre classeur, je ne vois pas comment faire pour copier la feuille excel dans mon classeur actif

  4. #4
    Membre régulier
    Profil pro
    controleur de gestion
    Inscrit en
    Décembre 2010
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : controleur de gestion

    Informations forums :
    Inscription : Décembre 2010
    Messages : 84
    Points : 112
    Points
    112
    Par défaut
    Bonjour Mariem

    Tout simplement , met le cursseur sur le nom de la feuille (par defaut c'est "Feuil1" si tu l'a pas renome) et puis "clique droit" , et puis "Deplacer ou copier" et puis tu selectionne ou tu veux que ta feuille soit copie.

    Cordialement

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Bonjour BARMAKI,

    mais je ne veux pas copier ma feuille manuellement mais en écrivant une macro VBA.

    Merci

  6. #6
    Membre régulier
    Profil pro
    controleur de gestion
    Inscrit en
    Décembre 2010
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : controleur de gestion

    Informations forums :
    Inscription : Décembre 2010
    Messages : 84
    Points : 112
    Points
    112
    Par défaut
    Ok Meriem

    Donc si c'est une operation 100% repetitif , tu peux enregister la macro en l'effectuant manuelement la premiere fois , sinon on doit trouver une macro standard

    Cordialement

  7. #7
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut
    Bonjour, tu trouveras la réponse,en cliquant ici
    tu y trouveras un code tout fait il n'y a plus qu'a bien lire pour l'appliquer.
    bonne lecture
    @+

    Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur
    Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.
    Ou sur si ce n'est pas le cas

  8. #8
    Futur Membre du Club
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    salut,

    Merci rvtoulon pour le lien.
    Mais je crains qu'il ne répond pas à ma question car je désire copier une feuille excel à partir d'un classeur excel vers un autre classeur excel (et non pas copier une table access vers un classeur excel ce qui nécessite l'établissement de connexion et d'autre truc que je n'ai pas vraiment compris )

    Sinon je vais essayer d'enregistrer une macro comme me l'a conseillé BARMAKI en espérant que je puisse arriver à quelque chose car je suis néophyte en matière de VBA.

    Si quelqu'un à une autre solution, je lui serais reconnaissante

  9. #9
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut
    Merci rvtoulon pour le lien.
    Mais je crains qu'il ne répond pas à ma question car je désire copier une feuille excel à partir d'un classeur excel vers un autre classeur excel (et non pas copier une table access vers un classeur excel ce qui nécessite l'établissement de connexion et d'autre truc que je n'ai pas vraiment compris )
    rassure moi stp tu l'as lu au moins ?????
    juste au cas ou voici le titre du tuto: "Lire et écrire dans les classeurs Excel fermés"
    on parle bien d'Excel non???

    bien, en te donnant la peine de chercher dans le tuto, notamment chap IV-A Lire:
    il y a un code qui s'appelle :"RequeteClasseurFerme"
    qui copie la feuille 1 du classeur fermé dans la feuille 1 à partir de la cellule A2 de la feuille active du classeur ouvert.

    Mais attention, avant d'utiliser ce code, prend la peine de lire le chap : I-introduction
    et fait ce qui y est écrit.
    @+

    Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur
    Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.
    Ou sur si ce n'est pas le cas

  10. #10
    Futur Membre du Club
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Resalut rvtoulon

    Je te rassure, j'ai lu le tuto (bon lecture en diagonale à vrai dire)

    Mais je t'ai dis que cela ne répond pas à ma question car je ne désire pas manipuler et faire des connexions entre classeurs fermés mais plutôt j'ai un classeur ouvert A à partir duquel je veux exécuter une macro qui ouvre un autre classeur B et copie une feuille de A vers B.

    Donc la méthode ADO ne m'est pas utile et franchement je veux l'éviter s'il y a une autre solution.

    Merci pour ton temps

  11. #11
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut
    Du coup ton titre de post n'est plus valable ni même ta question initiale à savoir :
    comment copier une feuille excel à partir d'un classeur fermé vers mon classeur actif (à partir duquel j'exécute ma macro) ?
    on est d'accord!

    donc pour répondre à cette question:
    j'ai un classeur ouvert A à partir duquel je veux exécuter une macro qui ouvre un autre classeur B et copie une feuille de A vers B
    un code à adapter à tes besoins car:
    on a pas:
    -le chemin d'accès à ton fichier ex: c:\monrépertoire\test\
    -le nom du fichier à ouvrir ex: Test.xls
    -le nom de la feuille à copier ex:Feuil1
    -à quel place doit-on la copier dans le classeur B ex: avant la feuille1 ,2...

    donc voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub test()
    Dim wkA As Workbook, wkB As Workbook
    Dim chemin As String, fichier As String
     
    'classeur A qui contient la macro
    Set wkA = ThisWorkbook
     
    'chemin ou se trouve le fichier B
    chemin = "G:\"
     
    'nom du fichier B
    fichier = "Classeur2.xlsx"
     
    'ouvre le fichier B
    Workbooks.Open chemin & fichier
     
    'met en variable le classeur B
    Set wkB = ActiveWorkbook
     
    'copie la feuille "feuil1" du classeur A avant la feuille 1 dans le classeur B
    wkA.Sheets("Feuil1").Copy before:=wkB.Sheets(1)
     
    MsgBox ("La feuille est maintenant copiée") 'message pour dire que la feuille est copiée.
     
    wkB.Close True 'ferme et enregistre le classeur B
     
    End Sub
    @+

    Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur
    Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.
    Ou sur si ce n'est pas le cas

  12. #12
    Futur Membre du Club
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Merci rvtoulon,

    Le code que tu m'as fourni fonctionne parfaitement.
    Désolée car j'ai mal posé ma question au début.

    Bonne journée

  13. #13
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut
    de rien, bonne journée
    @+

    Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur
    Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.
    Ou sur si ce n'est pas le cas

  14. #14
    Futur Membre du Club
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    désolée rvtoulon de revenir sur le sujet.
    mais je comprends pas pourqoui le code ne fonctionne plus en remplaçant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    chemin = "C:\..."
    fichier = "nom_fichier.xlsm"
    Workbooks.Open chemin & fichier
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileName= Application.GetOpenFilename("Excel Files (*.xlsm), *.xlsm")
    Il bloque au niveau de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbook2.Sheets("sheet1").Copy after:=Workbook1.Sheets(1)
    et affiche: run-time error '9' subscript out of range.

  15. #15
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    "GetOpenFilename" n'ouvre pas le classeur. Tu dis=dois faire ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open filename
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  16. #16
    Futur Membre du Club
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Merci Daniel.C.
    ça a fonctionné.
    Bonne fin de journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] VBA - Copier une feuille Excel à partir d'un fichier XSLM partagé
    Par joboljobol dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/05/2015, 08h01
  2. [Toutes versions] Copier une feuille excel vers un classeur pour un archivage par date
    Par Enguerrand.P dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/05/2013, 14h39
  3. Réponses: 3
    Dernier message: 21/03/2013, 14h43
  4. [VBA]Renseigner une feuille excel à partir d'un site web
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/01/2006, 13h43
  5. Réponses: 5
    Dernier message: 05/07/2005, 20h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo