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 :

Additionner des valeurs des plusieurs fichiers


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Excusez mon français, ce n'est pas ma langue de base
    Inscrit en
    Août 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Excusez mon français, ce n'est pas ma langue de base

    Informations forums :
    Inscription : Août 2011
    Messages : 50
    Par défaut Additionner des valeurs des plusieurs fichiers
    Bonjour le forume,

    J’ai 24 fichiers nommés BD_equipe_1.xls, BD_equipe_2.xls … BD_equipe_24.xls.
    Chaque fichier a l’onglet Recap1. Dans cet onglet il y a un tableau.
    J’ai cherché la possibilité de calculer la somme des cellules C4 des touts les 24 fichiers.
    La seule solution que j’ai trouvée et la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME([BD_equipe_1.xls]Recap1!$C$4+[BD_equipe_2.xls]Recap1!$C$4+...+[BD_equipe_24.xls]Recap1!$C$4)
    Si j'utilise cette formule, ça deviendra qqc immense pour additionner 24 fichiers.
    Pouvez-vous proposer qqc plus « modeste » ?

    Merci d’avance,
    Gogia

  2. #2
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 87
    Par défaut Peut-être...
    Bonjour Gogia,

    Si tes données sont positionnées de la même façon sur chacune de tes feuilles (cellule C4)

    tu peux peut-être essayer de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME([BD_equipe_1.xls]Recap1:[BD_equipe_24.xls]Recap1!C4)

    Pas sûre du tout !!!!

  3. #3
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Par défaut
    Puisqu'on est sur le forum macros , pourquoi ne pas développer une fontion Somme_Classeur
    ex ( je n'ai pas testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public function Somme_Classeur ( ranger_ as string )
    dim somme_ as as double
     
    for N = 1 to 24
        somme_ = somme_ +  workbooks ("BD_equipe_" & N & ".xls").worksheets  (Recap1).range ( ranger_).value
     
    next
     
    Somme_Classeur  = somme_
     
    end function
    Ensuite tu peux utiliser cette fonction comme une fonction personnalisée

  4. #4
    Membre averti
    Profil pro
    Excusez mon français, ce n'est pas ma langue de base
    Inscrit en
    Août 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Excusez mon français, ce n'est pas ma langue de base

    Informations forums :
    Inscription : Août 2011
    Messages : 50
    Par défaut
    @ Cocotte278
    Merci pour ta reponse!
    Mais ça ne fonctionne pas. Le résultat obtenue est #NOM.
    J'ai essaié de jouer avec le syntax mais sans success.

    @CodeFacile
    Bonjour ,

    Je ne maîtrise pas le VB. Peux-tu preciser ou exactement il faudra mettre le code?

    Les plage des données sont C4:F35 , C37:F38 , K4:N35 et K37:N38

    Merci,
    Gogia

  5. #5
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,
    Une petite adaptation d'une formule de Bob Phillips :
    =SOMMEPROD(N(INDIRECT("[BD_equipe_"&LIGNE(INDIRECT("1:24"))&".xls]Recap1!C4")))

    En fait, "[BD_equipe_" & LIGNE( INDIRECT("1:24")) & ".xls]Recap1!C4" est transformé en une matrice :
    [BD_equipe_1.xls]Recap1!$C$4;[BD_equipe_2.xls]Recap1!$C$4;[BD_equipe_3.xls]Recap1!$C$4; etc
    ou les numéros de BD_equipe_ sont donnés par LIGNE( INDIRECT("1:24"))

    Sommeprod traite ensuite la somme.........

  6. #6
    Membre averti
    Profil pro
    Excusez mon français, ce n'est pas ma langue de base
    Inscrit en
    Août 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Excusez mon français, ce n'est pas ma langue de base

    Informations forums :
    Inscription : Août 2011
    Messages : 50
    Par défaut
    Bonjour Franck,

    Si j'ai compris correctement pour 12 fichiers la formulle sera
    =SOMMEPROD(N(INDIRECT("[BD_equipe_"&LIGNE(INDIRECT("1:12"))&".xls]Recap1!C4")))

    et pour 24 fichiers
    =SOMMEPROD(N(INDIRECT("[BD_equipe_"&LIGNE(INDIRECT("1:24"))&".xls]Recap1!C4")))

    C'est correct?

    Quand même, j'imagine qui touts les fichiers, dans ce cas-là doivent être dans le même dosier? Ou on peut remplacer
    [BD_equipe_"&LIGNE(INDIRECT("1:12"))&".xls]

    par

    [F:dossier:Sous-dossier:BD_equipe_"&LIGNE(INDIRECT("1:12"))&".xls]
    Je travaille sur MAC et il faut utiliser : et pas le back-slash

    Merci d'avance pour ta clarification!

  7. #7
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Si j'ai compris correctement pour 12 fichiers la formulle sera
    =SOMMEPROD(N(INDIRECT("[BD_equipe_"&LIGNE(INDIRECT("1:12"))&".xls]Recap1!C4")))

    et pour 24 fichiers
    =SOMMEPROD(N(INDIRECT("[BD_equipe_"&LIGNE(INDIRECT("1:24"))&".xls]Recap1!C4")))

    C'est correct?
    Oui. Mais je suppose que cela tu as pu le tester...

    Quand même, j'imagine que tous les fichiers, dans ce cas-là doivent être dans le même dosier? Ou on peut remplacer
    [BD_equipe_"&LIGNE(INDIRECT("1:12"))&".xls]
    par
    [F:dossier:Sous-dossier:BD_equipe_"&LIGNE(INDIRECT("1:12"))&".xls]
    Hum...
    "[F:dossier:Sous-dossier:BD_equipe_" sous entends que tous les fichiers sont dans : "F:dossier:Sous-dossier:" non?
    Oui, sans tester, je suis presque sur en affirmant que tous les fichiers, y compris celui dans lequel tu fais la somme doivent être dans le même répertoire.
    Je vais essayer un petit test et reviens te voir après...

  8. #8
    Membre averti
    Profil pro
    Excusez mon français, ce n'est pas ma langue de base
    Inscrit en
    Août 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Excusez mon français, ce n'est pas ma langue de base

    Informations forums :
    Inscription : Août 2011
    Messages : 50
    Par défaut
    J'ai testé, mais ça ne fonctionne pas et la "réponse" est #REF!

    Mes fichiers se trouvent dans le même répertoire. La question a été posée pour mieux comprendre quoi il faut faire dans le cas quand ce n'est pas le cas.

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

Discussions similaires

  1. [XL-2000] Additionner des cellules de plusieurs fichiers
    Par shenmicke dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/09/2014, 01h43
  2. Réponses: 2
    Dernier message: 30/03/2011, 04h07
  3. Réponses: 5
    Dernier message: 15/06/2007, 12h58
  4. [VBA-E] Lire des valeurs dans un fichier excel
    Par nicobox dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/05/2006, 16h40
  5. [VB]vérifier des valeurs dans un fichiers et trier
    Par Mut dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 16/02/2006, 18h35

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