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 :

Exploitation graphique d'un tableau (Gouvernements 1965-2015)


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Data-Journalisme
    Inscrit en
    Mars 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Data-Journalisme

    Informations forums :
    Inscription : Mars 2015
    Messages : 10
    Par défaut Exploitation graphique d'un tableau (Gouvernements 1965-2015)
    Bonjour à tous,

    J'ai pour projet de lancer un site de data-journalisme (suite à une formation traditionnelle en journalisme presse écrite web). Je débute dans le développement informatique, un peu tardivement mais bourré de motivation .

    J'ai produit un tableau représentant les différents gouvernements au pouvoir depuis 1965. Chaque colonne représente un pays, chaque ligne une année, et chaque case représente une sensibilité politique, exprimée en couleur de fond (onglet Feuille1). La saisie n'est pas terminée (50% environ), ceci dit j'explore les différentes possibilités d'exploiter le tableau.
    J'ai demandé à mon frère qui touche un peu à Visual Basic de fournir un code pour que, sur chaque ligne, les couleurs soient regroupées. Il y est parvenu assez rapidement grâce au code ci-dessous, le résultat est dans l'onglet Test.

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    Sub CodeCouleur()
     
    'Ca sélectionne la feuille ou la macro marche, histoire de ne pas faire de bétise
    Application.Worksheets("Copie de Feuille 1").Activate
     
    'For = pour faire une boucle
    For i = 57 To 66
     
    Dim a As Long
    Dim b As Long
     
      'prends les codes couleurs
        a = Cells(i, 3).Interior.Color
        Cells(i, 2).Value = a
        b = Cells(i, 9).Interior.Color
        Cells(i, 7).Value = b
     
        'recopie les couleurs dans des cases en dessous, histoire de vérifier
        Cells(i + 13, 2).Interior.Color = a
        Cells(i + 13, 7).Interior.Color = b
    Next i
     
    End Sub
     
     
    Sub tri()
     
    'Ca sélectionne la feuille ou la macro marche, histoire de ne pas faire de bétise
    Application.Worksheets("Copie de Feuille 1").Activate
     
    'Boucle For sur les lignes
    For i = 3 To 53
        'Valeur pour la colonne qui va augmenter en fonction des couleurs trouvées
        a = 3
        'Boucle For sur les codes couleurs 1ere colonne
        For k = 57 To 66
     
            'Boucle For sur les colonnes
            For j = 3 To 144
     
                'test = est-ce que c'est la bonne couleur ?
                If Cells(i, j).Interior.Color = Cells(k, 3).Interior.Color Then
     
                    'si oui = on rentre la donnée dans la nouvelle feuille
                    Worksheets("test").Cells(i, a).Value = Cells(2, j).Value
                    Worksheets("test").Cells(i, a).Interior.Color = Cells(i, j).Interior.Color
                     a = a + 1
     
                End If
            Next j
        Next k
     
     'Boucle For sur les codes couleurs 2eme colonne
        For k = 57 To 66
     
            'Boucle For sur les colonnes
            For j = 3 To 144
     
                'test = est-ce que c'est la bonne couleur ?
                If Cells(i, j).Interior.Color = Cells(k, 9).Interior.Color Then
     
                    'si oui = on rentre la donnée dans la nouvelle feuille
                    Worksheets("test").Cells(i, a).Value = Cells(2, j).Value
                    Worksheets("test").Cells(i, a).Interior.Color = Cells(i, j).Interior.Color
                     a = a + 1
     
                End If
            Next j
        Next k
     
    Next i
     
     
    End Sub
    Enfin, j'ai copié le résultat et collé en inversant abscisse et ordonnée, afin d'obtenir une esquisse de graphique (aires empilées) allant de gauche (1965) à droite (2015), visible à l'onglet Feuil2 (en zoom à 25%, l'ensemble tient sur un écran ; ça fait un peu penser aux stats de pop dans Age of Empire, mais là c'est en vrai ). Le tout contient des erreurs, essentiellement issues de la saisie initiale, mais c'est plutôt prometteur.

    C'est là que je me tourne vers votre expérience . De son propre aveu, mon frère m'a fait un code un peu alambiqué qu'on pourrait rendre plus simple. Avez-vous une piste pour passer du tableau initial au résultat en Feuil2 par un autre chemin ?

    Plus largement, je compte exploiter les données pour les présenter de différentes manières. Je pense à produire des graphiques (camembert par année, aires empilées...) mais je suis sûr que certaines macros peuvent faire un joli boulot pour un résultat auquel je ne pense pas encore. Un conseil sur ce qui serait intéressant d'appliquer ici ?

    Enfin, l'objectif à terme est de le publier sur un site dédié et ouvert à tous, pour un rendu esthétique, voire interactif. On me conseille de passer par un logiciel de gestion de base de données, qui fournirait plus de possibilités qu'Excel - BVA. Bonne idée, ou Excel peut faire le job ?


    D'avance merci et à bientôt

    JJ
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [JpGraph] Positionner un graphique dans un tableau
    Par olivier94 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 24/03/2007, 14h38
  2. [VBA-E] Graphique suite à un tableau d'amortissement
    Par iupien78 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/02/2007, 15h03
  3. [VBA-EXCEL] Graphique à partir de Tableau
    Par mimic50 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/02/2007, 18h12
  4. visualisation graphique d un tableau
    Par gilles_bzh dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 06/12/2006, 20h50
  5. représentation graphique d' un tableau en c
    Par Le Lion dans le forum C
    Réponses: 5
    Dernier message: 05/07/2006, 22h46

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