Somme sur plusieurs fichiers par INDIRECT

Le
aderagne
Bonjour à tous,

J'ai un problème que je n'arrive pas à résoudre et j'espère que vous=

pourrez m'aider.

Voilà mon problème :
J'ai plusieurs fichiers (un par pays, et il y en a environ 60), qui
contiennent chacun un "grand" tableau de chiffres (150 lignes et 30
colonnes).
J'ai besoin de faire des fichiers "somme", qui contiennent un tableau
du même format (150 lignes et 30 colonnes), chaque cellule faisant la
somme de ses homologues dans d'autres fichiers.
Et j'ai plusieurs fichiers sommes à faire, selon la manière dont je
veux regrouper les pays. Par exemple France+Allemagne, total Monde,
Total Europe, etc
Si je fais des formules "à la main", vous imaginez les risques
d'erreur.

J'essaie (désespérément) de trouver une formule qui me permette de
faire la somme des chiffres trouvés dans les autres fichiers, les
adresses étant écrites en texte dans des cellules.
Je m'explique :
Mettons que j'ai plusieurs cellules dans lesquelles j'écris en texte
les adresses d'autres cellules situées dans d'autres classeurs.
Exemple :
en A1 : ''V:ZoneOPVPlan 2008Pays[Allemagne.xls]All'!$J$18
en A2 : ''V:ZoneOPVPlan 2008Pays[Autriche.xls]Aut'!$J$18

Par la fonction Indirect, je connais les chiffres qui correspondent à
ces adresses.
INDIRECT(A1) = 11062
INDIRECT(A2) = 737

Je voudrais en faire la somme par une formule, sans faire INDIRECT(A1)
+ INDIRECT(A2).
Pourquoi ? Parce que :
* J'ai une liste d'adresses beaucoup plus longue (ça peut aller
jusqu'à mon nombre total de pays, donc environ 60)
* en fait j'ai tout un tableau de cellules à mettre à jour avec ces
adresses (les 150 lignes et 30

colonnes), donc je compte utiliser plutôt INDIRECT de cette façon :
INDIRECT($A$1&ADRESSE(LIGNE();COLONNE())) et étirer la formule

J'ai déjà essayé :
validation sous forme matricielle (shift-CTrl-Entrée) :
{=SOMME(INDIRECT(A1:A2))}
somme : =SOMME(INDIRECT(A1:A2))
sommeprod : =SOMMEPROD(INDIRECT(A1:A2))
mais sans succès


J'ai construit une macro (une fonction plutôt, qui va lire le contenu
des cellules indiquées et les incrémente dans une variable) qui
fonctionne, mais ça a pas mal d'inconvénients (performances,
installation, mise à jour des chiffres sans liaison) et je
préférerais vraiment une formule Excel.

Pouvez-vous m'aider SVP ?
Merci d'avance !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5275561
Bonjour.
Pourquoi ne pas utiliser la consolidation ?
Menus Données / Consolider
Cordialement.
Daniel
"aderagne"
Bonjour à tous,

J'ai un problème que je n'arrive pas à résoudre et j'espère que vous
pourrez m'aider.

Voilà mon problème :
J'ai plusieurs fichiers (un par pays, et il y en a environ 60), qui
contiennent chacun un "grand" tableau de chiffres (150 lignes et 30
colonnes).
J'ai besoin de faire des fichiers "somme", qui contiennent un tableau
du même format (150 lignes et 30 colonnes), chaque cellule faisant la
somme de ses homologues dans d'autres fichiers.
Et j'ai plusieurs fichiers sommes à faire, selon la manière dont je
veux regrouper les pays. Par exemple France+Allemagne, total Monde,
Total Europe, etc...
Si je fais des formules "à la main", vous imaginez les risques
d'erreur.

J'essaie (désespérément) de trouver une formule qui me permette de
faire la somme des chiffres trouvés dans les autres fichiers, les
adresses étant écrites en texte dans des cellules.
Je m'explique :
Mettons que j'ai plusieurs cellules dans lesquelles j'écris en texte
les adresses d'autres cellules situées dans d'autres classeurs.
Exemple :
en A1 : ''V:ZoneOPVPlan 2008Pays[Allemagne.xls]All'!$J$18
en A2 : ''V:ZoneOPVPlan 2008Pays[Autriche.xls]Aut'!$J$18

Par la fonction Indirect, je connais les chiffres qui correspondent à
ces adresses.
INDIRECT(A1) = 11062
INDIRECT(A2) = 737

Je voudrais en faire la somme par une formule, sans faire INDIRECT(A1)
+ INDIRECT(A2).
Pourquoi ? Parce que :
* J'ai une liste d'adresses beaucoup plus longue (ça peut aller
jusqu'à mon nombre total de pays, donc environ 60)
* en fait j'ai tout un tableau de cellules à mettre à jour avec ces
adresses (les 150 lignes et 30

colonnes), donc je compte utiliser plutôt INDIRECT de cette façon :
INDIRECT($A$1&ADRESSE(LIGNE();COLONNE())) et étirer la formule

J'ai déjà essayé :
validation sous forme matricielle (shift-CTrl-Entrée) :
{=SOMME(INDIRECT(A1:A2))}
somme : =SOMME(INDIRECT(A1:A2))
sommeprod : =SOMMEPROD(INDIRECT(A1:A2))
... mais sans succès


J'ai construit une macro (une fonction plutôt, qui va lire le contenu
des cellules indiquées et les incrémente dans une variable) qui
fonctionne, mais ça a pas mal d'inconvénients (performances,
installation, mise à jour des chiffres sans liaison...) et je
préférerais vraiment une formule Excel.

Pouvez-vous m'aider SVP ?
Merci d'avance !
JB
Le #5275541
Bonjour,

-Nommer les champs 7 de X.xls et Y.xls (CA par exemple)
-Sélectionner la plage où doit apparaître le résultat (B3 :B8)
-Frapper =X.XLS!CA+Y.XLS!CA
-Valider avec MAJUSC+CTRL+ENTREE


http://boisgontierjacques.free.fr/pages_site/Liaisons.htm
http://boisgontierjacques.free.fr/pages_site/donneesConsolider.htm

JB
http://boisgontierjacques.free.fr/



On 19 fév, 14:19, "Daniel.C"
Bonjour.
Pourquoi ne pas utiliser la consolidation ?
Menus Données / Consolider
Cordialement.
Daniel
"aderagne"
Bonjour à tous,

J'ai un problème que je n'arrive pas à résoudre et j'espère que vo us
pourrez m'aider.

Voilà mon problème :
J'ai plusieurs fichiers (un par pays, et il y en a environ 60), qui
contiennent chacun un "grand" tableau de chiffres (150 lignes et 30
colonnes).
J'ai besoin de faire des fichiers "somme", qui contiennent un tableau
du même format (150 lignes et 30 colonnes), chaque cellule faisant la
somme de ses homologues dans d'autres fichiers.
Et j'ai plusieurs fichiers sommes à faire, selon la manière dont je
veux regrouper les pays. Par exemple France+Allemagne, total Monde,
Total Europe, etc...
Si je fais des formules "à la main", vous imaginez les risques
d'erreur.

J'essaie (désespérément) de trouver une formule qui me permette de
faire la somme des chiffres trouvés dans les autres fichiers, les
adresses étant écrites en texte dans des cellules.
Je m'explique :
Mettons que j'ai plusieurs cellules dans lesquelles j'écris en texte
les adresses d'autres cellules situées dans d'autres classeurs.
Exemple :
en A1 : ''V:ZoneOPVPlan 2008Pays[Allemagne.xls]All'!$J$18
en A2 : ''V:ZoneOPVPlan 2008Pays[Autriche.xls]Aut'!$J$18

Par la fonction Indirect, je connais les chiffres qui correspondent à
ces adresses.
INDIRECT(A1) = 11062
INDIRECT(A2) = 737

Je voudrais en faire la somme par une formule, sans faire INDIRECT(A1)
+ INDIRECT(A2).
Pourquoi ? Parce que :
* J'ai une liste d'adresses beaucoup plus longue (ça peut aller
jusqu'à mon nombre total de pays, donc environ 60)
* en fait j'ai tout un tableau de cellules à mettre à jour avec ces
adresses (les 150 lignes et 30

colonnes), donc je compte utiliser plutôt INDIRECT de cette façon :
INDIRECT($A$1&ADRESSE(LIGNE();COLONNE())) et étirer la formule

J'ai déjà essayé :
validation sous forme matricielle (shift-CTrl-Entrée) :
{=SOMME(INDIRECT(A1:A2))}
somme : =SOMME(INDIRECT(A1:A2))
sommeprod : =SOMMEPROD(INDIRECT(A1:A2))
... mais sans succès

J'ai construit une macro (une fonction plutôt, qui va lire le contenu
des cellules indiquées et les incrémente dans une variable) qui
fonctionne, mais ça a pas mal d'inconvénients (performances,
installation, mise à jour des chiffres sans liaison...) et je
préférerais vraiment une formule Excel.

Pouvez-vous m'aider SVP ?
Merci d'avance !


Misange
Le #5275521
J'ai plusieurs fichiers (un par pays, et il y en a environ 60), qui
contiennent chacun un "grand" tableau de chiffres (150 lignes et 30
colonnes).
J'ai besoin de faire des fichiers "somme", qui contiennent un tableau
du même format (150 lignes et 30 colonnes), chaque cellule faisant la
somme de ses homologues dans d'autres fichiers.


Hello
Pourquoi ne pas faire un tableau croisé dynamique ? Ca te permet
justement de faire toutes les sommes que tu veux et même beaucoup plus
que ça quand il faut analyser autant de données.

Je commencerai par consolider tous tes classeurs sur un autre puis par
faire le TCD.
--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Misange
Le #5275511
Bonjour,

-Nommer les champs 7 de X.xls et Y.xls (CA par exemple)
-Sélectionner la plage où doit apparaître le résultat (B3 :B8)
-Frapper =X.XLS!CA+Y.XLS!CA


il me semble que c'est ce que le demandeur veut éviter justement si il
doit faire ça sur 60 pays ou seulement 22 ou ...

--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

ChrisV
Le #5274821
Bonjour aderagne,

Exemple :
en A1 : ''V:ZoneOPVPlan 2008Pays[Allemagne.xls]All'!$J$18
en A2 : ''V:ZoneOPVPlan 2008Pays[Autriche.xls]Aut'!$J$18



=SOMME(INDIRECT(A1&":"&A2))


ChrisV


"aderagne"
Bonjour à tous,

J'ai un problème que je n'arrive pas à résoudre et j'espère que vous
pourrez m'aider.

Voilà mon problème :
J'ai plusieurs fichiers (un par pays, et il y en a environ 60), qui
contiennent chacun un "grand" tableau de chiffres (150 lignes et 30
colonnes).
J'ai besoin de faire des fichiers "somme", qui contiennent un tableau
du même format (150 lignes et 30 colonnes), chaque cellule faisant la
somme de ses homologues dans d'autres fichiers.
Et j'ai plusieurs fichiers sommes à faire, selon la manière dont je
veux regrouper les pays. Par exemple France+Allemagne, total Monde,
Total Europe, etc...
Si je fais des formules "à la main", vous imaginez les risques
d'erreur.

J'essaie (désespérément) de trouver une formule qui me permette de
faire la somme des chiffres trouvés dans les autres fichiers, les
adresses étant écrites en texte dans des cellules.
Je m'explique :
Mettons que j'ai plusieurs cellules dans lesquelles j'écris en texte
les adresses d'autres cellules situées dans d'autres classeurs.
Exemple :
en A1 : ''V:ZoneOPVPlan 2008Pays[Allemagne.xls]All'!$J$18
en A2 : ''V:ZoneOPVPlan 2008Pays[Autriche.xls]Aut'!$J$18

Par la fonction Indirect, je connais les chiffres qui correspondent à
ces adresses.
INDIRECT(A1) = 11062
INDIRECT(A2) = 737

Je voudrais en faire la somme par une formule, sans faire INDIRECT(A1)
+ INDIRECT(A2).
Pourquoi ? Parce que :
* J'ai une liste d'adresses beaucoup plus longue (ça peut aller
jusqu'à mon nombre total de pays, donc environ 60)
* en fait j'ai tout un tableau de cellules à mettre à jour avec ces
adresses (les 150 lignes et 30

colonnes), donc je compte utiliser plutôt INDIRECT de cette façon :
INDIRECT($A$1&ADRESSE(LIGNE();COLONNE())) et étirer la formule

J'ai déjà essayé :
validation sous forme matricielle (shift-CTrl-Entrée) :
{=SOMME(INDIRECT(A1:A2))}
somme : =SOMME(INDIRECT(A1:A2))
sommeprod : =SOMMEPROD(INDIRECT(A1:A2))
... mais sans succès


J'ai construit une macro (une fonction plutôt, qui va lire le contenu
des cellules indiquées et les incrémente dans une variable) qui
fonctionne, mais ça a pas mal d'inconvénients (performances,
installation, mise à jour des chiffres sans liaison...) et je
préférerais vraiment une formule Excel.

Pouvez-vous m'aider SVP ?
Merci d'avance !

Publicité
Poster une réponse
Anonyme