|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Excusez mon français, ce n'est pas ma langue de base Inscription : août 2011 Messages : 32 ![]() |
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 :
=SOMME([BD_equipe_1.xls]Recap1!$C$4+[BD_equipe_2.xls]Recap1!$C$4+...+[BD_equipe_24.xls]Recap1!$C$4) Pouvez-vous proposer qqc plus « modeste » ? Merci d’avance, Gogia |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : septembre 2011 Messages : 86 ![]() |
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 :
=SOMME([BD_equipe_1.xls]Recap1:[BD_equipe_24.xls]Recap1!C4) Pas sûre du tout !!!! |
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Inscription : juillet 2007 Messages : 209 ![]() |
Puisqu'on est sur le forum macros , pourquoi ne pas développer une fontion Somme_Classeur
ex ( je n'ai pas testé) Code :
|
||
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Excusez mon français, ce n'est pas ma langue de base Inscription : août 2011 Messages : 32 ![]() |
@ 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 |
|
|
00
|
|
|
#5 |
|
Membre éprouvé
![]() Franck PRESSEInscription : août 2010 Messages : 202 ![]() |
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.........
__________________
Cordialement, Franck P. Ps : n'oubliez pas de placer vos posts comme "résolus" ( ) si tel est le cas...
|
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Excusez mon français, ce n'est pas ma langue de base Inscription : août 2011 Messages : 32 ![]() |
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! |
|
|
00
|
|
|
#7 | ||
|
Membre éprouvé
![]() Franck PRESSEInscription : août 2010 Messages : 202 ![]() |
Citation:
Citation:
"[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...
__________________
Cordialement, Franck P. Ps : n'oubliez pas de placer vos posts comme "résolus" ( ) si tel est le cas...
|
||
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Excusez mon français, ce n'est pas ma langue de base Inscription : août 2011 Messages : 32 ![]() |
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. |
|
|
00
|
|
|
#9 |
|
Membre éprouvé
![]() Franck PRESSEInscription : août 2010 Messages : 202 ![]() |
Je n'y suis pas parvenu non plus... Problème avec des "" et des '...
Ou alors c'est tout bonnement impossible. Mais après tout ceci, la formule proposée fonctionne si tous les classeurs sont dans le même répertorie?
__________________
Cordialement, Franck P. Ps : n'oubliez pas de placer vos posts comme "résolus" ( ) si tel est le cas...
|
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Excusez mon français, ce n'est pas ma langue de base Inscription : août 2011 Messages : 32 ![]() |
Franck,
Ta formule fonctionne parfaitement. Merci !!! Le seul souci: touts les fichier doivent êrte ouverts. Help de l'Excel: Si le classeur source est fermé, la fonction INDIRECT renvoie la valeur d'erreur #REF!. Si l'argument réf_texte fait référence à un autre classeur (référence externe), ce dernier doit être ouvert. Si le classeur source est fermé, la fonction INDIRECT renvoie la valeur d'erreur #REF!. MERCI
|
|
|
00
|
|
|
#11 | ||
|
Membre confirmé
![]() Inscription : juillet 2007 Messages : 209 ![]() |
Re Bonjour,
Je reviens sur ma fonction , que je viens de tester. Dans ton fichier de consolidation , tu va sous outils -> Macros -> Visual Basic Editor. Dans la nouvelle fenêtre Microsoft Visual Basic , tu vas sous Affichage -> Explorateur de projet , tu es dans dans cette fenetre VBA Projet , click droit -> Insertion -> Module . Par defaut , le programme inserre Module1 Dans la fenetre Module 1 , tu copies la fonction suivante : Code :
dans ton classeur consolidation , dans la cellule ou tu veux récuperer par exemple les donnes des cellules 'D4' des différents fichiers , tu inserres la formule = -> Autre fonctions et ta fonction Somme_classeur doit apparaitre. tu completes avec = Somme_Classeur("D4") Tous les fichiers doivent être ouverts ... |
||
|
|
00
|
|
|
#12 |
|
Candidat au titre de Membre du Club
![]() Excusez mon français, ce n'est pas ma langue de base Inscription : août 2011 Messages : 32 ![]() |
CodeFacile,
Merci beaucoup et bon week-end! Gogia |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com