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 graphes avec macro sur plusieurs feuilles ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 2
    Par défaut Création graphes avec macro sur plusieurs feuilles ?
    Bonjour à tous,

    Ceci est ma première discussion sur le forum, je m'excuse par avance si je manque de connaissance sur les macros et les codes, mais j'aurais vraiment besoin de m'en servir.

    Je m'explique, je suis étudiant et en stage, je travaille sur une étude de marché donc j'ai créé plusieurs bases de données sur excel qui recensent des données par pays, chaque feuille correspond à un pays et chaque classeur à une zone géographique.

    Je souhaiterais maintenant réaliser des graphiques de ces données par pays, seulement mon étude concerne tous les pays du monde et il y a beaucoup trop de feuille.
    J'ai donc découvert ce matin les macros, qui semble être une solution pour simplifier ma tâche.

    Cependant je n'arrive pas à créer un code qui répète la création de mon graphique sur plusieurs feuilles.

    - Je précise que chaque feuille porte le nom du pays relatif (et si possible j'aimerais ne pas être obligé de devoir remplir le nom de chaque pays dans le code ?)
    - Les données sont rangées exactement à la même place sur chaque feuille
    - Je ne peux pas trop vous fournir de code pour le moment (je ne suis pas encore fixé sur les tableaux choisis) mais il comportera "insertion, création graphique, modification du format et des couleurs + ajout d'un titre" ce sera environ la tâche demandée..

    - Je précise également que j'ai déjà effectué de nombreuses recherches mais mes connaissances en code sont bien trop faibles pour comprendre les explications trouvées
    - J'ai normalement pour habitude d'apprendre par moi même, mais je n'ai pas le temps de me pencher sur la manipulation des codes pour le moment, mon étude doit être présenté la semaine prochaine (et je dois encore me faire la main sur Illustrator pour la présentation....)

    Je vous remercie par avance et vous souhaites une bonne journée !

    Bonne journée

  2. #2
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    Salut,

    Pour la création de graph pour chaque feuille de ton classeur, il existe un type de boucle "for each .... next"

    Le but est de dire en VBA, pour chaque feuille de mon classeur fait une sélection, la création /personnalisation d'un graph.

    Pour en savoir plus, tu as un super tuto avec exemple là :
    http://silkyroad.developpez.com/vba/boucles/#LII

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 2
    Par défaut
    Salut,

    Merci pour ta réponse, j'ai lu le tuto ainsi que d'autres, je commence à comprendre un peu le principe...

    J'ai donc la possibilité de créer une boucle qui va appliquer mon code à chaque feuille, c'est ce que je voulais, si j'ai bien compris ce sera à l'aide de cette formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each Ws In Wb.Worksheets
    Par contre dans le tuto j'ai du mal à comprendre ces formules suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Wb As Workbook
        'Définit une variable qui va représenter une feuille de calcul
        Dim Ws As Worksheet
        'Définit une variable qui va représenter une cellule
        Dim Cell As Range
    J'ai compris que c'était l'objet sur lequel le code doit boucler... donc si je réalise mon programme avec un seul classeur mais plusieurs feuilles j'ai besoin de seulement cette ligne : ?

    Ensuite de quoi, je vais devoir demander à créer un graphique avec environ les 3 premières lignes sur 10 colonne (A1:J3): si j'enregistre ma macro ça me donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ActiveSheet.Shapes.AddChart2(297, xlColumnStacked).Select
        ActiveChart.SetSourceData Source:=Range("Argentine!$A$1:$J$3")
        ActiveChart.ClearToMatchStyle
        ActiveChart.ChartStyle = 299
    Je me rend bien compte que la source de recherche des données n'est pas bonne, mais je vois pas comment faire pour l'instant.

    Je me demande également si je peux résoudre mon problème à l'aide de cette formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each Cell In Ws.Range("A1:J10")
    Pour que le tableau soit créé à chaque début de feuille...
    Bref, j'ai mis en pièce jointe un classeur avec quelques données pour illustrer ce que je cherche à faire, créer le même tableau (si possible avec quelques modifs, mais dans un premier temps, le même tableau ) pour chaque feuille..

    Une fois de plus, je vous remercie pour votre aide,
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    salut,

    voici le code, j'ai testé sur XL 2010 et pour moi çà marhe.

    J'ai mis les commentaires pour que tu puisses modifier si besoin. Bonne utilisation.

    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
    Sub crée_graph()
    '
    '
    'Définit une variable qui va représenter une tout à tour les feuilles du classeur
    Dim Ws As Worksheet
     
    'boucle qui parcourt le classeur actif
    For Each Ws In ThisWorkbook.Worksheets
        'on selectionne la feuille à traiter
        Sheets(Ws.Name).Select
        'on commence la création de l'objet graphique
        ActiveSheet.Shapes.AddChart(297, xlColumnStacked).Select
        'on défonit la source du graph en utilisant le nom de la feuille active
        ActiveChart.SetSourceData Source:=Range(Ws.Name & "!$A$1:$J$3")
        ActiveChart.ClearToMatchStyle
    Next
    End Sub

Discussions similaires

  1. [XL-2007] utiliser une macro sur plusieurs feuilles
    Par revans dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/06/2012, 14h20
  2. [XL-2007] Exécuter une macro sur plusieurs feuilles
    Par formabox dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 26/03/2012, 18h22
  3. Calcul en macro sur plusieurs feuilles
    Par fanfan89 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/02/2010, 13h56
  4. executer macro sur plusieurs feuilles
    Par lumiere1808 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/05/2008, 15h52
  5. macro sur plusieurs feuilles
    Par lolo_bob2 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/06/2006, 16h51

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