Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Somme sur plusieurs fichiers par INDIRECT

5 réponses
Avatar
aderagne
Bonjour =E0 tous,

J'ai un probl=E8me que je n'arrive pas =E0 r=E9soudre et j'esp=E8re que vous=

pourrez m'aider.

Voil=E0 mon probl=E8me :
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=EAme format (150 lignes et 30 colonnes), chaque cellule faisant la
somme de ses homologues dans d'autres fichiers.
Et j'ai plusieurs fichiers sommes =E0 faire, selon la mani=E8re dont je
veux regrouper les pays. Par exemple France+Allemagne, total Monde,
Total Europe, etc...
Si je fais des formules "=E0 la main", vous imaginez les risques
d'erreur.

J'essaie (d=E9sesp=E9r=E9ment) de trouver une formule qui me permette de
faire la somme des chiffres trouv=E9s dans les autres fichiers, les
adresses =E9tant =E9crites en texte dans des cellules.
Je m'explique :
Mettons que j'ai plusieurs cellules dans lesquelles j'=E9cris en texte
les adresses d'autres cellules situ=E9es dans d'autres classeurs.
Exemple :
en A1 : ''V:\Zone\OPV\Plan 2008\Pays\[Allemagne.xls]All'!$J$18
en A2 : ''V:\Zone\OPV\Plan 2008\Pays\[Autriche.xls]Aut'!$J$18

Par la fonction Indirect, je connais les chiffres qui correspondent =E0
ces adresses.
INDIRECT(A1) =3D 11062
INDIRECT(A2) =3D 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 (=E7a peut aller
jusqu'=E0 mon nombre total de pays, donc environ 60)
* en fait j'ai tout un tableau de cellules =E0 mettre =E0 jour avec ces
adresses (les 150 lignes et 30

colonnes), donc je compte utiliser plut=F4t INDIRECT de cette fa=E7on :
INDIRECT($A$1&ADRESSE(LIGNE();COLONNE())) et =E9tirer la formule

J'ai d=E9j=E0 essay=E9 :
validation sous forme matricielle (shift-CTrl-Entr=E9e) :
{=3DSOMME(INDIRECT(A1:A2))}
somme : =3DSOMME(INDIRECT(A1:A2))
sommeprod : =3DSOMMEPROD(INDIRECT(A1:A2))
=2E.. mais sans succ=E8s


J'ai construit une macro (une fonction plut=F4t, qui va lire le contenu
des cellules indiqu=E9es et les incr=E9mente dans une variable) qui
fonctionne, mais =E7a a pas mal d'inconv=E9nients (performances,
installation, mise =E0 jour des chiffres sans liaison...) et je
pr=E9f=E9rerais vraiment une formule Excel.

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

5 réponses

Avatar
Daniel.C
Bonjour.
Pourquoi ne pas utiliser la consolidation ?
Menus Données / Consolider
Cordialement.
Daniel
"aderagne" a écrit dans le message de news:

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 !
Avatar
JB
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" wrote:
Bonjour.
Pourquoi ne pas utiliser la consolidation ?
Menus Données / Consolider
Cordialement.
Daniel
"aderagne" a écrit dans le message de news:

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 !


Avatar
Misange
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

Avatar
Misange
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

Avatar
ChrisV
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" a écrit dans le message de news:

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 !