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éer macro excel, alimenter un tableau [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 32
    Par défaut Créer macro excel, alimenter un tableau
    Bonjour,
    Dans le cadre de l’analyse des données d’une grande application, je souhaite alimenter mon tableau Excel en utilisant du macro.
    Il s’agit d’un fichier excel qui contient 3 feuilles(pieces jointes)
    1- Tableau principal
    2- Lien_class_packages
    3- Lien_class e_tables.
    Le but du macro est d’alimenter le tableau principal à partir des 2 autres tableaux (feuilles) et voici le principe.
    On part de la feuille lien_classe_tables :dans cette page on a les tables en colonnes et les packages en lignes, le croix présente le lien entre les packages et les tables en select, update,insert et delete.
    Si il y’a un lien entre une table et package, il faut aller dans la deuxième feuille(lien_class_package )et voir s’ il existe un lien entre ce pakage( en colonnes) et les classes (en lignes.), si oui, il faut alimenter la premier tableau(tableau principal) en respectant la table du tableau « lien_class_tables » et la classe du tableau « lien_class_package »
    Remarque :dans le tableau »lien_class_packages il existe un lien entre un package et plusieurs table, il faut alimenter le tableau principal dans toutes ces tables exemple budget_regies et (menu_princ, Projet)
    Le résultat attendu dans le tableau principal est en rouge.
    Merci de me proposer du macro qui fait ca.
    Cordialement
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Essaie ceci :
    Fichiers attachés Fichiers attachés

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Une autre proposition
    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
    Sub Report()
    Dim c As Range, v As Range
    Dim LastLig As Long
    Dim Str As String
    Dim i As Byte
     
    Application.ScreenUpdating = False
    With Worksheets("Lien_Classe_tables")
        LastLig = .Cells(.Rows.Count, "C").End(xlUp).Row                 'Dernière ligne du tableau principal
        For Each c In .Range("D7:F" & LastLig).SpecialCells(xlCellTypeConstants)    'on boucle sur les cellules remplies de la plage D7:Fxxx
            Str = .Cells(2, c.Column)                                    'Dans Str on a le nom de la classe
            If Str <> "" Then                                            'si str est non vide
                With Worksheets("Lien_Class_Packages")
                    Set v = .Range("C:C").Find(Str, LookIn:=xlValues, lookat:=xlWhole)    'on cherche le nom de la classe dans la colonne C de la feuille Lien Class Packages
                    If Not v Is Nothing Then                             'si on trouve la classe
                        For i = 4 To 8                                   'on boucle de la colonne D à H sur la même ligne où on a trouvé le nom de la classe
                            If .Cells(v.Row, i) <> "" Then Worksheets("Tableau_principal").Cells(c.Row, i) = "R"    's'il y a un X, on reporte un X dans tableau principal dans la cellule intersection de la ligne où on a X dans Lien_Classe_tables et la colonne où on a X dans Lien_Class_Packages
                        Next i
                        Set v = Nothing
                    End If
                End With
            End If
        Next c
    End With
    End Sub

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 32
    Par défaut
    Merci pour votre aide.
    Jai une derniere question:
    comment je fais pour incrementer une valeur en couleur par exemple je voudrais incrementer la lettre M en rouge dans cette cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(IndiceFeuilleTableauFinal).Cells(no_ligne_table_tp, CurColonneClasse) = "M"
    Merci

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 32
    Par défaut
    C Bon j'ai trouvé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(IndiceFeuilleTableauFinal).Cells(no_ligne_table_tp, CurColonneClasse).Font.Color = RGB(255, 0, 0)
    Merci

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

Discussions similaires

  1. Réponses: 58
    Dernier message: 27/04/2015, 14h09
  2. Macro excel copie de tableau
    Par toblo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/08/2009, 22h37
  3. Créer une macro Excel en VBScript
    Par ghostvb dans le forum VBScript
    Réponses: 9
    Dernier message: 29/07/2009, 11h17
  4. Réponses: 2
    Dernier message: 25/04/2008, 13h40
  5. Problème avec une macro faisant apel à un tableau Excell
    Par valouche dans le forum Macros et VBA Excel
    Réponses: 52
    Dernier message: 19/06/2007, 12h38

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