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 :

Concaténer plusieurs feuilles excel Dans 1 seule


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 17
    Points
    17
    Par défaut Concaténer plusieurs feuilles excel Dans 1 seule
    Bonjour,
    Je cherche à copier / coller (collage spécial valeur) toutes les feuilles d’un fichier excel dans une seule feuille d’un autre fichier Excel.

    Pour cela je « place » ma macro dans le fichier Excel, et l’onglet de destination, avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Workbooks.Open Filename:="" + FichierExcelACopier + ""
    Dim sh As Worksheet
    For Each sh In Workbooks("" + FichierExcelACopier + "").Worksheets
        NomOnglet = sh.Name
        Workbooks("" + NomFichierXLS + "").Worksheets("" + NomOnglet + "").Cells.Copy _
                Destination:=Workbooks("NomXLSDestination").Worksheets("NomOngletDestination").Range("A1")
     
    Next sh
    Par contre je n’arrive pas à faire un collage special valeur ET à coller la 2° feuille à la suite du 1° collage dans l’onglet NomOngletDestination.
    Je suis arrivé au max de mes compétences et je n'ai pas trouvé la solution sur le forum.
    Est-ce que quelqu’un pourrait m’aider ? MERCI d'avance pour votre aide !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 357
    Points : 355
    Points
    355
    Par défaut
    Bonjour,

    dans votre boucle, vous devez changer le range a chaque tour de boucle, sinon, il reecrit toujours sur la premiere ligne regarder du cote de selection.end(xldown) pour recuperer le dernier range de votre feuille :

    a la fin de la boucle, avant le next, il faut faire quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Workbook....range("a1").select
    selection.end(xldown)
    newRange=ActiveCell.Address(RowAbsolute:=False,ColumnAbsolute:=False)
    En esperant vous avoir aidé

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    Merci pour la réponse. Ok pour coller à la suite, mais comment faire pour ne coller que les valeurs (collage spécial valeur) en fonction de mon code ?

Discussions similaires

  1. [XL-2007] Fusion plusieurs feuilles excel dans un seul fichier
    Par meumeu73.1 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/06/2013, 09h13
  2. [XL-2010] Fusionner plusieurs feuilles excel en une seule feuille
    Par aymenmsatra dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/07/2012, 20h12
  3. [PPT-2003] Copier le contenus de plusieurs cellules Excel dans une seule liste-texte ppt
    Par mimilll dans le forum VBA PowerPoint
    Réponses: 8
    Dernier message: 02/06/2009, 19h45
  4. [Excel] Afficher plusieurs fichiers excel dans un seul fichier
    Par naru40001 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 07/01/2009, 14h50
  5. Ouvrir plusieurs classeurs Excel dans un seul processus
    Par zoopsys dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/12/2008, 17h27

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