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

Macros et VBA Excel Discussion :

Macro pour copier une feuille vers un autre fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Par défaut Macro pour copier une feuille vers un autre fichier
    Bonjour à tous !

    Je vais essayer de vous expliquer de la manière la plus succincte possible. Voilà initialement j'avais fais une petite macro sur excel qui me permettait de faire un copier collage spécial de l'intégralité des cellules d'une feuille source qui me servait de base de données vers une autre feuille destiné à mes collaborateurs.

    J'utilisais le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
       Sheets("Feuil1").Select
        Columns("A:EY").Select
        Selection.Copy
        Windows("BASEcourrier.xls").Activate
        Sheets("Feuil1").Select
        Columns("A:A").Select
        Range("A2192").Activate
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=True, Transpose:=True
    End Sub
    TOUT SÉLECTIONNER

    Cette macro fonctionnait très bien jusqu'à aujourd'hui Visual basic n'arrive plus a a effectuer le copier coller car la taille est différente... Erreur d'execution '1004' Pfff...

    Enfin bref je souhaiterais savoir comment pourrais-je procéder pour effectuer un copier coller des valeurs d'une feuille d'un fichier excel vers une autre feuille. Ou à défaut comment résoudre le problème de ma première macro.

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    C'est la méthode transpose, qui nécessite cette correspondance
    Nota :je me suis arrêté à la seule cause de l'erreur que tu dénonces. Ce qui ne veut pas du tout dire que j'applaudis - loin s'en faut - cette manière de travailler à coup de select, activate, selection, etc ...
    Et ce d'autant que tu t'y es pris de telle manière que VBA ne sait plus "qui est qui"...
    Travaille directement sur les objets Excel et tu auras moins de problèmes divers et variés.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Par défaut
    Merci pour ta réponse, mais je suis trop novice en la matière pour comprendre comment utiliser les objets dont tu parles

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    C'est pourtant le B.A.BA et est à la portée du débutant de chez débutant.
    la cellule B2 de la feuille "feuilx" du classeur "classeurx" est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    workbooks("classeurx").worksheets'"feuilx").Range("B2")
    nul besoin d'activer, sélectionner, etc ... pour se référer ensuite à l'objet Selection ainsi défini.
    Commence s'il te plait par ces premiers pas indispensables.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Par défaut
    C'est douloureux d'être pris de si haut... Moi qui pensais être sur un forum d'entraide... Je n'ai jamais pris de cours de vba je suis donc un vrai débutant de chez débutant comme tu dis.

    Dans un premier temps j'ai essayé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Workbooks("base.xls").Worksheets("Feuil1").Range("A:EY").Copy
    Workbooks("basecourrier.xls").Worksheets("Feuil1").Range("A:EY").Paste
     
    End Sub
    qui ne fonctionne pas chez moi "Erreur d'execution "9"

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    ce qui signifie que l'un des classeurs invoqués n'est pas ouvert avec ce nom par ton application sous ce nom ou qu'une des feuilles invoquées n'y est pas présente.

    Je n'ai jamais pris de cours de vba
    Moi non plus

Discussions similaires

  1. macro pour copier une feuille d'un classeur à un autre
    Par rihab92 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/05/2015, 21h05
  2. Copier une feuille vers un autre classeur dont le nom change
    Par Jimmatdycol dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 09/09/2013, 09h34
  3. [XL-2002] Macro pour copier une feuille dans un autre classeur
    Par JBeaunez dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/02/2012, 21h46
  4. [XL-2007] Macro pour copier une feuille
    Par francky62000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/12/2011, 16h36
  5. [VBA-E] pb pour copier une plage vers un autre repertoire
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 04/05/2007, 15h23

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