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 :

Synthèse données n feuilles [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 186
    Par défaut Synthèse données n feuilles
    Bonjour à tous et à toutes

    Dans mon classeur, j'ai x feuilles (leur nombre varie d'un classeur à l'autre) basées toutes sur le même type de tableau

    Pour chaque feuille, j'ai les valeurs suivantes
    - TYPELOCAL (cellule A86)
    - NOMLOCAL (cellule B86)
    - REPERE (cellule C86)
    - PUISSANCE (cellule D86)

    J'ai 3 types de locaux (positif, négatif, neutre)

    Je souhaite sur une feuille de synthèse faire 3 tableaux (un par type de local) présentant le nom, le repère, la puissance.

    Il faut donc que la macro passe en revue les x feuilles dont le nom présente la même syntaxe et fasse le tri selon les 3 types de locaux.

    Avez vous des pistes ?

    Merci par avance pour votre aide

    Daniel S

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 87
    Par défaut précisions
    Bonjour,
    C'est un peu vague pour répondre, il faudrait des précisions sur le besoin exact et si possible un fichier en exemple avec les x feuilles et un modèle de la feuille de synthèse souhaitées.

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 186
    Par défaut
    Re bonjour

    Voici donc un fichier exemple

    J'ai mis 4 feuilles de calculs et une feuille de synthèse

    Les feuilles de calculs sont simplifiées : je n'ai mis que les résultats à synthétiser pour ne pas alourdir le fichier

    Selon le fichier, il y aura un nombre variable de feuilles à synthétiser (de 5 à 30 environ), cela dépend de mes projets

    Dans la feuille synthèse, une approche de ce à quoi pourrait ressembler le tableau :
    - 3 catégories
    - pour chaque catégorie, une ligne par feuille

    Dans ces tableaux, le nombre de ligne dépend bien sûr du nombre de feuilles du projet.

    Il y aura ensuite d'autres colonnes complétées au vu de ce tableau

    MErci pour votre aide
    Fichiers attachés Fichiers attachés

  4. #4
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Dans chaque feuille, il n'y a Qu'une ligne d'info. En ligne 86, mais dans ton exemple, tu as mis en 5. Du coup, j'en ai fait un paramètre ajustable iLigne.

    Cela fait peut d'infos à traiter et donc, pour une fois, je n'utilise pas de variables tableaux.

    Ce n'est pas très pratique d'avoir dans synthèse les 3 tableaux les uns au-dessus des autres. Je les ai mis les uns à côté des autres : col A b et C pour les pos; col E F et G pour les Neg; col I J et K pour les neutres. Titres en lignes 3 et 4.

    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
    Sub subDaniel()
    Dim oRngPos As Excel.Range, oRngNeg As Excel.Range, oRngNeutr As Excel.Range
    Dim l As Long
    Const iLigne As Long = 5 'numéro de ligne renseignée sur les feuilles (valeur à adapter).
    Dim oSh As Excel.Worksheet
     
    Set oSh = ThisWorkbook.Worksheets("SYNTHESE")
    l = oSh.UsedRange.Rows(oSh.UsedRange.Rows.Count).Row
     
    'on considère que dans SYNTHESE, les titres sont en ligne 3 et 4, effacer les résultats précédents
    If l > 4 Then oSh.Rows("5:" & l).ClearContents
     
    'initialiser les "signets" des 3 tableaux. En ABC = Pos; En EFG = Neg; En IJK = Neutr
    Set oRngPos = oSh.Range("A5")
    Set oRngNeg = oSh.Range("E5")
    Set oRngNeutr = oSh.Range("I5")
     
    'rechercher les infos dans les feuilles
    For Each oSh In ThisWorkbook.Worksheets
     If oSh.Name <> "SYNTHESE" Then
        Select Case oSh.Range("A" & iLigne).Value
            Case "CF POSITIVE"
                Call subAddSynth(oSh, oRngPos, iLigne)
            Case "CF NEGATIVE"
                Call subAddSynth(oSh, oRngNeg, iLigne)
            Case "CF NEUTRE"
                Call subAddSynth(oSh, oRngNeutr, iLigne)
        End Select
     
     End If
    Next oSh
     
    Set oSh = Nothing
    End Sub
     
    Sub subAddSynth(ByVal oSh As Excel.Worksheet, ByRef oRng As Excel.Range, ByVal iLigne As Long)
    'ajoute une ligne à un tableau Pos, Neg ou Neutr, suivant oRng
        oRng.Value = oSh.Range("B" & iLigne).Value
        oRng.Offset(0, 1).Value = oSh.Range("C" & iLigne).Value
        oRng.Offset(0, 2).Value = oSh.Range("D" & iLigne).Value
        Set oRng = oRng.Offset(1, 0) 'passer à la ligne suivante
    End Sub
    Si ce n'est pas exactement cela, tu devrais pouvoir adapter.

    Cordialement,

    PGZ

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 186
    Par défaut
    Bonjour pgz
    Merci beaucoup

    C'est exactement ce que j'attendais

    Bonne journée

    Daniel

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

Discussions similaires

  1. tableau de synthèse de plusieurs feuilles
    Par ALTINEA dans le forum Excel
    Réponses: 7
    Dernier message: 01/10/2009, 18h31
  2. Conserver données dans feuille excel
    Par lapsus36 dans le forum Excel
    Réponses: 10
    Dernier message: 19/02/2009, 08h02
  3. Réponses: 15
    Dernier message: 18/02/2009, 21h43
  4. Traitement et transfert de données de feuille a feuille
    Par LarissaXD dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/06/2008, 16h34
  5. [VBA Excel] - Copie données entre feuilles
    Par mimic50 dans le forum VBA Access
    Réponses: 1
    Dernier message: 27/11/2006, 13h43

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