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 :

Compiler tous les onglets du classeur dans le premier


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur étude
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur étude
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Compiler tous les onglets du classeur dans le premier
    Bonjour,

    J'apprends petit à petit le langage VBA mais je suis encore loin d'être un expert. C'est pourquoi je fais appel à vous afin que vous puissiez m'éclairer.
    J'ai un classeur excel composé de plusieurs onglet ayant le même formalisme.
    Je souhaite compiler tout les onglets du classeur dans un autre onglet.
    Pour cela je me suis fait une macro qui marche bien lorsqu'on identifie les feuilles (voir fichier ci joint)

    Cependant mon soucis est quand réalité le nombre d'onglets est amené à varier et chaque onglet peut changer de nom au file du temps.
    C'est pour cela je souhaiterais savoir s'il existe une commande permettant de compiler les données de tous les onglets dans un autre onglet

    Pouvez vous m'aider ?

    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour, bonjour !

    Ce n'est pas du Général VBA mais bien du spécifique Excel, donc la prochaine fois poster dans le bon forum VBA dédié à Excel !

    Comme indiqué dans l'aide VBA intégrée, une feuille peut aussi être appelée par son numéro d'index;
    la propriété Worksheets.Count renvoyant le nombre de feuilles de calculs …

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur étude
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur étude
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci de votre réponse j'ai résolu mon problème en modifiant mon code ainsi

    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
    28
    29
    30
    31
    Sub compilation()
     
    Dim Classeur As Workbook
    Dim Plage As Range
    Dim sh As Worksheet
    Set Classeur = ThisWorkbook
     
    Application.ScreenUpdating = False
     
    'supprimer les anciennes affaires de l'onglet recap
    Sheets("compilation").Activate
    Range("B7:BE1000").Select
        Selection.ClearContents
     
    For Each sh In ThisWorkbook.Worksheets
     
            If sh.Name <> "compilation" Then
                 With sh
                 Set Plage = .Range("L6:AA22")
                 End With
    Plage.Copy _
                Worksheets("compilation").Range("B65536").End(xlUp).Offset(1, 0)
     
            End If
        Next sh
     
    Application.ScreenUpdating = True
     
    MsgBox ("Données correctement compilées")
     
    End Sub

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 17/07/2021, 16h16
  2. Réponses: 1
    Dernier message: 04/02/2014, 23h20
  3. [XL-2003] Macro qui exporte tous les onglets vers un autre classeur
    Par LeSqual dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/05/2013, 17h50
  4. Réponses: 2
    Dernier message: 08/07/2010, 09h44
  5. Centrage horizontal et vertical dans tous les onglets
    Par bibvba dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/04/2008, 09h30

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