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 :

VBA - macro Somme colonne plusieurs feuilles sur feuille globale


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Décembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Superviseur de Hotline
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 28
    Par défaut VBA - macro Somme colonne plusieurs feuilles sur feuille globale
    Bonjour,

    Je bloque sur l'élaboration d'une macro VBA.

    Contexte :

    => J'ai plusieurs feuilles dans un classeur avec des entêtes sur la 1ère ligne.
    => en fonction des feuilles, les entêtes ne sont pas dans la même colonne.

    Objectifs :

    => avoir une feuille Total avec toutes les entêtes listés et faire la somme de chaque feuille dans cette feuille Total.

    En gros, une macro qui va chercher dans ma feuille Total chaque entête, fais la somme, puis colle le résultat sur la feuille Total..

    en espérant avoir été clair pour avoir une aide précieuse :-)

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
    Dim C As Range, Plage As Range, Ws As Worksheet, Col As Integer
    With Sheets("Total")
        Set Plage = .Range("A1", .Cells(1, .Columns.Count).End(xlToLeft))
    End With
    For Each C In Plage
        For Each Ws In Worksheets
            If Ws.Name <> "Total" Then
                Col = Application.Match(C.Value, Ws.[1:1], 0)
                C.Offset(1) = C.Offset(1) + Application.Sum(Ws.Columns(Col))
            End If
        Next Ws
    Next C
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Décembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Superviseur de Hotline
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 28
    Par défaut
    MErci Daniel,

    Pour bien comprendre :

    Ton code permet de :

    faire la somme dans la feuille total de chaque colonne(somme ligne par ligne?) de chaque feuille contenant telle entête?

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Non, j'additionne brutalement toute la colonne contenant l'entête et je mets le résultat en ligne 2 de la feuille Total. Trop simpliste ?

  5. #5
    Membre averti
    Homme Profil pro
    Superviseur de Hotline
    Inscrit en
    Décembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Superviseur de Hotline
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 28
    Par défaut
    lol oui

    en fait chaque ligne de mon tableau correspond à une 1/2 heure dans mon fichier.

    J'ai plusieurs feuilles qui correspondent à des "sites de traitement", les entêtes correspondant aux flux traités.

    Ce que je cherche à faire :

    Dans la feuille total, faire la somme 1/2 heure par 1/2 heure de chaque flux traité par tout les sites.

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Comment chaque ligne est-elle référencée ? Y a--t-il par exemple une heure en colonne A ou une date et une heure ? Si oui, les cellules sont-elles au format date ? Ces références sont-elles les mêmes sur toutes les feuilles ?

Discussions similaires

  1. [XL-2007] Macro VBA pour imprimer plusieurs onglets sur une feuille recto verso
    Par oekoniko dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/03/2014, 15h24
  2. Réponses: 9
    Dernier message: 04/02/2013, 13h45
  3. [VBA-E] formule sur feuille ou par macro
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 14/02/2007, 17h13
  4. Réponses: 7
    Dernier message: 15/12/2006, 16h14
  5. Réponses: 9
    Dernier message: 30/08/2006, 23h13

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