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 :

Lister mes onglets


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 171
    Par défaut Lister mes onglets
    Bonjour
    après mon précédent post ou je devais transférer des feuilles d un classeur vers un autre, j ai une nouvelle question.

    Toutes mes feuilles ainsi transférer contiennent la même info sous le même format (donc un même tableau).

    Je voudrais réunir toutes ces infos dans une seule feuille.

    Je voudrais donc créer une boucle qui lise le nom de mes feuilles et transfert ce tableau dans un unique tableau.

    Merci

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut
    1)Tu fais une boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For x = 2 a ... nombre de feuil
    , si tu souhaite supprimer les feuil en meme temps part en sens inverse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For x = nombre de feuil downto 2
    2)Tu selectionnes la feuil, ou tu pointe simplement dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sheets(x).Select
    'ou
    With Sheets(x)
    [...]
    End With
    3)tu copie le contenu en utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .range("A2:Y" + .range("Y1").End(xlDown)).copy ' je concidere que tu as des entete de colonne et que tu utilise le With dans l'etape 3)
    4)Tu retournes dans ta feuil "cumul" (ou tu pointe juste)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("Cumul").Range("A1").End(xlDown).Offset(1,0).Past
    J'ai pas fait le teste mais ca doit pas etre tres loin du compte
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 171
    Par défaut
    Merci

    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
    Dim Ws As Worksheet
     
        'Boucle sur toutes les feuille de calcul du classeur.
     
        For Each Ws In ThisWorkbook.Worksheets
     
            If Ws.Name = "Synthèse" Or Ws.Name = "menu" Then GoTo fin
     
            Sheets(Ws.Name).Select
     
            Range("A1").Select
            Selection.CurrentRegion.Select
            Selection.Copy
            Sheets("Synthèse").Select
            Range("A1").Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
            Selection.Insert Shift:=xlDown
    fin:
     
        Next Ws

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Re
    Si tu le souhaite voila ta fonction un peu "amelioré", disons plutot qu'elle est allegée un peu

    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
    Sub Amelioration()
    Dim Ws As Worksheet
     
        'Boucle sur toutes les feuille de calcul du classeur.
     
        For Each Ws In ThisWorkbook.Worksheets
            If Not (Ws.Name = "Synthèse" Or Ws.Name = "menu") Then
                Sheets(Ws.Name).Range("A1").CurrentRegion.Copy
                With Sheets("Synthèse").Range("A1")
                    .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                        :=False, Transpose:=False
                    .Insert Shift:=xlDown
                End With
            End If
        Next Ws
    End Sub
    A l'affichage tu ne naviguera plus dans les different sheet et les plage ne se selectionneront plus.

    [Edit]Pas mal du tout le CurrentRegion, je note ca dans un quoi de ma tete ca peut etre tres pratique! Donc merci a toi[/Edit]
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 171
    Par défaut
    Merci pour l'amélioration

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

Discussions similaires

  1. Lister mes adresses ip avec WMI
    Par raphxyz dans le forum VB.NET
    Réponses: 9
    Dernier message: 18/07/2013, 23h50
  2. Lister mes sous-sites dans une liste
    Par rohstev dans le forum Développement Sharepoint
    Réponses: 2
    Dernier message: 09/11/2010, 17h49
  3. Lister des onglets
    Par solorac dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/09/2009, 15h19
  4. php5 cause des problèmes à mes onglets
    Par philippe57460 dans le forum Langage
    Réponses: 4
    Dernier message: 30/06/2008, 16h33
  5. Onglet: ajouter mes champs
    Par fourniey dans le forum Access
    Réponses: 3
    Dernier message: 29/09/2005, 01h46

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