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 :

Création de tableaux de synthèses


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 80
    Par défaut Création de tableaux de synthèses
    Bonjour à tous !

    Je vous explique un peu la démarche. J'ai 16 fichiers Excel qui contiennent 4 feuilles. 16 fichiers car je travail sur 16 groupes. Les 16 fichiers sont tirés d'un fichier source comprenant les 16 groupes. Ainsi les fichiers sont identiques, seul le nom du groupe change et les données (mais mêmes variables).

    Ce que j'aimerais : Pour chaque fichier, automatiser l'ajout d'une nouvelle feuille avec 3 tableaux (de synthèse) et que ces tableaux soit incrémentés par des données spécifiques, selon des critères.

    Première question qui me semble essentielle :
    Où Est-ce que je dois coder dans cette situation ? Dans le fichier source ? Dans un nouveau fichier ?

    Ce que je veux faire : Est-ce possible ?

    Avez-vous quelconque(s) remarque(s) qui puisse m'aider à commencer ce travail ?

    J'avoue que je ne sais pas du tout par où commencer .. et c'est bien le problème..

  2. #2
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 128
    Par défaut
    Bonjour,

    Tu as donc 1 classeur excel mère qui contient entièrement toute l'information que tu as sur les 16 groupes, et qui génère 16 classeurs filles qui contiennent chacun l'info de son groupe uniquement ?

    Donc si tu veux que chacun des classeurs filles possèdent 1 feuille en plus (avec ce que tu veux dedans), tu dois en effet rajouter quelques lignes de code dans le classeur mère.

    Idée:
    Quand ton classeur mère génère un classeur il en crée un nouveau. Et dans les propriétés d'excel tu peux lui dire combien de feuilles par défaut doit avoir un nouveau classeur. Donc au lieu d'avoir 4 feuilles (comme tu as actuellement), tu rajoute une ligne de code pour que le nombre par défaut soit 5 (je te laisse chercher sur google pour trouver la ligne de code).

    Et après, une fois que tu as ton nouveau classeur fille avec toutes les feuilles que tu veux, tu peux y faire tous les calculs que tu veux.



    Slooby

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 80
    Par défaut
    Bonjour Slooby, avant tout, merci pour ta réponse.

    C'est bien ça, j'ai un fichier mère qui génère des filtres, et qui copie colle les filtres dans un nouveau classeur à chaque fois (au total ça me donne 16 classeurs).

    Je vais aller regarder sur le net comment faire, merci du coup de main, je vais aller essayer de rajouter une feuille sur chaque classeur.

    Je reviens plus tard pour d'autres explications si besoin !

    Ok, première étape, j'ai créé une feuille supplémentaire à la fin :

    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
    Private Sub CommandButton3_Click()
     
        Dim i As Integer
     
        For i = 1 To 16
            Sheets(Array(i + 5, i + 21, i + 37, i + 53)).Copy
            ActiveWorkbook.Sheets(1).Name = "Telephonie"
            ActiveWorkbook.Sheets(2).Name = "Reclamations"
            ActiveWorkbook.Sheets(3).Name = "Post it"
            ActiveWorkbook.Sheets(4).Name = "Relation client"
            ActiveWorkbook.Sheets.Add After:=Worksheets(4), Count:=1 'avec cette ligne de code
            ActiveWorkbook.Sheets(5).Name = "Synthese" 'je renomme la feuille ajoutée
            ActiveWorkbook.SaveAs "E:\Tableau de bord\FICHIER SOURCE\fichiers par groupes\ Groupe 1" & Format(i, "00")
     
            ActiveWorkbook.Close False
        Next
     
    End Sub
    Maintenant, si je veux ajouter trois tableaux que j'ai déjà créé à la main (c'est pas des tableaux excel tout fait, j'ai une maquette déjà faite, où j'ai fusionné certaines cellules, colorié les zones de titre en rouge et les zones où il y a les chiffres en gris) , comment dois-je faire ? dans un autre programme ? dans le même programme ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 80
    Par défaut
    Je créer 16 fichiers en copie colle, j'aimerai en plus que pour chaque fichier créé il aille récupérer une plage de donnée dans un autre classeur à copier coller dans la dernière feuille, voici le code écrit pour l'instant, qui ne fonctionne pas..

    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
    32
    Private Sub CommandButton3_Click()
     
     Dim i As Integer
        Dim wbac As Workbook 'classeur A COPIER
        Dim wsac As Worksheet 'feuille A COPIER
     
     
        For i = 1 To 16
            Sheets(Array(i + 5, i + 21, i + 37, i + 53)).Copy
            ActiveWorkbook.Sheets(1).Name = "Telephonie"
            ActiveWorkbook.Sheets(2).Name = "Reclamations"
            ActiveWorkbook.Sheets(3).Name = "Post it"
            ActiveWorkbook.Sheets(4).Name = "Relation client"
            ActiveWorkbook.Sheets.Add After:=Worksheets(4), Count:=1
            ActiveWorkbook.Sheets(5).Name = "Synthese"
     
    '---------------------------------CA NE FONCTIONNE PLUS A PARTIR D'ICI----(lorsque je veux faire appel à un autre classeur)---------
     
                Set wbac = Workbooks("E:\Tableau de bord\TABLEAUX DE SYNTHESES.xlsx").Worksheets("Feuil1").Range("A2:F13").Select
                Selection.Copy
     
                Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
                SkipBlanks:=False, Transpose:=False
                ActiveWorkbook.Sheets(5).Paste
     
            ActiveWorkbook.SaveAs "E:\Tableau de bord\FICHIER SOURCE\fichiers par groupes\ Groupe 1" & Format(i, "00")
     
            ActiveWorkbook.Close False
        Next
     
     
    End Sub
    Avez-vous une idée de ce que je pourrais faire, je suis un peu perdu là !

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 80
    Par défaut
    Nom : Capture.PNG
Affichages : 117
Taille : 56,3 Ko

  6. #6
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 128
    Par défaut
    Re,

    Je ne sais pas à quel message je dois répondre, tu en as posté plein
    Et sur certains il y a d'énormes erreur de code !!! Mais je m'occupe de répondre qu'au dernier message.


    Pour le dernier, quand tu définis ton premier classeur avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set wb = Workbook.Open(".....")
    Je pense qu'à la fin il manque l'extension ? Du genre .xlsm ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set wb = Workbook.Open("%lechemin%" & ".xlsm")
    en remplassant %lechemin% par ce que tu as déjà écris.

    Slooby.

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

Discussions similaires

  1. [VBA-E] Création de tableaux
    Par fred bx dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/05/2006, 07h58
  2. Création de tableaux et liens
    Par Lestat91 dans le forum Access
    Réponses: 1
    Dernier message: 09/05/2006, 11h29
  3. [Tableaux] création de tableaux
    Par ibtisss dans le forum Langage
    Réponses: 13
    Dernier message: 06/04/2006, 15h13
  4. création de tableaux avec Array() et élément 'fantome'
    Par Talieth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/11/2005, 09h49

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