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

Chemin de fichier dans une formule sommeprod

7 réponses
Avatar
Kémi
Bonsoir,

J'utilise la formule sommeprod pour remplir un tableau de stock dans
un fichier nomm=E9 "Stocks.xls".

La formule va chercher le renseignement voulu dans un fichier nomm=E9
"Produits2008.xls".

Les formules fonctionnent tr=E8s bien.

Mon souhait est de r=E9utiliser le m=EAme fichier "Stocks.xls" l'ann=E9e
prochaine. Seulement, les donn=E9es =E0 chercher seraient dans un fichier
diff=E9rent appel=E9 "Produits2009.xls".

Faudra-t-il que je modifie une =E0 une mes formules ? J'ai pens=E9 =E0 une
autre solution : chemin du fichier dans une cellule, A2 par exemple,
nommer la cellule A2 et utiliser ce nom dans la formule.

J'ai essay=E9 et cela n'a pas fonctionn=E9. Soit je fais une erreur, soit
j'ai atteint la limite de sommeprod.

Quelqu'un a-t-il d=E9j=E0 rencontr=E9 mon probl=E8me ?

voici un exemple de formule pour le stock initial :

=3DSOMMEPROD((mois([Produits2008.xls]Feuil1!$B$2:$B$250)=3D1)*
(jour([Produits2008.xls]Feuil1!$B$2:$B
$250)=3D1)*
([Produits2008.xls]Feuil1!$D$2:$D$250)=3D$A$1)*
([Produits2008.xls]Feuil1!$C$2:$C$250))


Merci d'avance pour votre r=E9ponse,
K=E9mi

7 réponses

Avatar
isabelle
bonjour Kémi,

dans ton nouveau fichier, tu pourrais faire un Remplacer 2008 par 2009,

isabelle

Bonsoir,

J'utilise la formule sommeprod pour remplir un tableau de stock dans
un fichier nommé "Stocks.xls".

La formule va chercher le renseignement voulu dans un fichier nommé
"Produits2008.xls".

Les formules fonctionnent très bien.

Mon souhait est de réutiliser le même fichier "Stocks.xls" l'année
prochaine. Seulement, les données à chercher seraient dans un fichier
différent appelé "Produits2009.xls".

Faudra-t-il que je modifie une à une mes formules ? J'ai pensé à une
autre solution : chemin du fichier dans une cellule, A2 par exemple,
nommer la cellule A2 et utiliser ce nom dans la formule.

J'ai essayé et cela n'a pas fonctionné. Soit je fais une erreur, soit
j'ai atteint la limite de sommeprod.

Quelqu'un a-t-il déjà rencontré mon problème ?

voici un exemple de formule pour le stock initial :

=SOMMEPROD((mois([Produits2008.xls]Feuil1!$B$2:$B$250)=1)*
(jour([Produits2008.xls]Feuil1!$B$2:$B
$250)=1)*
([Produits2008.xls]Feuil1!$D$2:$D$250)=$A$1)*
([Produits2008.xls]Feuil1!$C$2:$C$250))


Merci d'avance pour votre réponse,
Kémi


Avatar
Kémi
On 27 jan, 02:21, isabelle wrote:
bonjour Kémi,

dans ton nouveau fichier, tu pourrais faire un Remplacer 2008 par 2009,

isabelle


Bonsoir,

J'utilise la formule sommeprod pour remplir un tableau de stock dans
un fichier nommé "Stocks.xls".

La formule va chercher le renseignement voulu dans un fichier nommé
"Produits2008.xls".

Les formules fonctionnent très bien.

Mon souhait est de réutiliser le même fichier "Stocks.xls" l'année
prochaine. Seulement, les données à chercher seraient dans un fichie r
différent appelé "Produits2009.xls".

Faudra-t-il que je modifie une à une mes formules ? J'ai pensé à u ne
autre solution : chemin du fichier dans une cellule, A2 par exemple,
nommer la cellule A2 et utiliser ce nom dans la formule.

J'ai essayé et cela n'a pas fonctionné. Soit je fais une erreur, soi t
j'ai atteint la limite de sommeprod.

Quelqu'un a-t-il déjà rencontré mon problème ?

voici un exemple de formule pour le stock initial :

=SOMMEPROD((mois([Produits2008.xls]Feuil1!$B$2:$B$250)=1)*
(jour([Produits2008.xls]Feuil1!$B$2:$B
$250)=1)*
([Produits2008.xls]Feuil1!$D$2:$D$250)=$A$1)*
([Produits2008.xls]Feuil1!$C$2:$C$250))

Merci d'avance pour votre réponse,
Kémi



Bonjour Isabelle,


Je viens d'essayer ta solution : "remplacer" fonctionne très bien dans
une formule

exemple : en A10 j'ai ="Produits2009.xls"&" - gamme partielle"
en A11 j'écris =remplacer(A10;12;1;"8") la formule
donne Produits2008.xls - gamme partielle

Je suis ravie d'avoir appris quelque chose de nouveau. Mais cela
m'oblige à ré-écrire toutes les formules.
Or, je souhaite que les formules du fichier "Stocks.xls" fonctionnent
aussi bien avec le fichier "Produits2008.xls", qu'un fichier
"Produits2009.xls" (et ainsi de suite pour les années suivantes).

Merci d'avance,

Kémi


Avatar
Jean-François Aubert
Salut Kémi,

regarde avec la fonction INDIRECT

en D2 tu mets 2008 (tu peux à tout moment changer l'année, cela affichera
les résultats du fichier comportant l'année inscrite en D2)

=SOMMEPROD((INDIRECT("[Produits"
&D2&"]Feuil1!A1:A20")>5)*(INDIRECT("[Produits"&D2&"]Feuil1!A1:A20")<7))

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Kémi" a écrit dans le message de news:

Bonsoir,

J'utilise la formule sommeprod pour remplir un tableau de stock dans
un fichier nommé "Stocks.xls".

La formule va chercher le renseignement voulu dans un fichier nommé
"Produits2008.xls".

Les formules fonctionnent très bien.

Mon souhait est de réutiliser le même fichier "Stocks.xls" l'année
prochaine. Seulement, les données à chercher seraient dans un fichier
différent appelé "Produits2009.xls".

Faudra-t-il que je modifie une à une mes formules ? J'ai pensé à une
autre solution : chemin du fichier dans une cellule, A2 par exemple,
nommer la cellule A2 et utiliser ce nom dans la formule.

J'ai essayé et cela n'a pas fonctionné. Soit je fais une erreur, soit
j'ai atteint la limite de sommeprod.

Quelqu'un a-t-il déjà rencontré mon problème ?

voici un exemple de formule pour le stock initial :

=SOMMEPROD((mois([Produits2008.xls]Feuil1!$B$2:$B$250)=1)*
(jour([Produits2008.xls]Feuil1!$B$2:$B
$250)=1)*
([Produits2008.xls]Feuil1!$D$2:$D$250)=$A$1)*
([Produits2008.xls]Feuil1!$C$2:$C$250))


Merci d'avance pour votre réponse,
Kémi
Avatar
MichDenis
quand tu veux modifier la source (fichier) d'un lien avec un autre classeur,
As-tu essayé la commande : Édition / Liaisons / tu sélectionnes la fenêtre
le lien que tu veux modifier / un clic sur le bouton "Modifier" et tu sélectionnes
dans la fenêtre ouvrante, le nouveau classeur. Toutes tes formules devraient
se mettre à jour. Cette manipulation peut se faire aussi par macro le cas échéant.



"Kémi" a écrit dans le message de news:

Bonsoir,

J'utilise la formule sommeprod pour remplir un tableau de stock dans
un fichier nommé "Stocks.xls".

La formule va chercher le renseignement voulu dans un fichier nommé
"Produits2008.xls".

Les formules fonctionnent très bien.

Mon souhait est de réutiliser le même fichier "Stocks.xls" l'année
prochaine. Seulement, les données à chercher seraient dans un fichier
différent appelé "Produits2009.xls".

Faudra-t-il que je modifie une à une mes formules ? J'ai pensé à une
autre solution : chemin du fichier dans une cellule, A2 par exemple,
nommer la cellule A2 et utiliser ce nom dans la formule.

J'ai essayé et cela n'a pas fonctionné. Soit je fais une erreur, soit
j'ai atteint la limite de sommeprod.

Quelqu'un a-t-il déjà rencontré mon problème ?

voici un exemple de formule pour le stock initial :

=SOMMEPROD((mois([Produits2008.xls]Feuil1!$B$2:$B$250)=1)*
(jour([Produits2008.xls]Feuil1!$B$2:$B
$250)=1)*
([Produits2008.xls]Feuil1!$D$2:$D$250)=$A$1)*
([Produits2008.xls]Feuil1!$C$2:$C$250))


Merci d'avance pour votre réponse,
Kémi
Avatar
Kémi
On 27 jan, 11:13, "Jean-François Aubert" <à
wrote:
Salut Kémi,

regarde avec la fonction INDIRECT

en D2 tu mets 2008 (tu peux à tout moment changer l'année, cela affi chera
les résultats du fichier comportant l'année inscrite en D2)

=SOMMEPROD((INDIRECT("[Produits"
&D2&"]Feuil1!A1:A20")>5)*(INDIRECT("[Produits"&D2&"]Feuil1!A1:A20")<7))

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}

"Kémi" a écrit dans le message de news:

Bonsoir,

J'utilise la formule sommeprod pour remplir un tableau de stock dans
un fichier nommé "Stocks.xls".

La formule va chercher le renseignement voulu dans un fichier nommé
"Produits2008.xls".

Les formules fonctionnent très bien.

Mon souhait est de réutiliser le même fichier "Stocks.xls" l'année
prochaine. Seulement, les données à chercher seraient dans un fichier
différent appelé "Produits2009.xls".

Faudra-t-il que je modifie une à une mes formules ? J'ai pensé à une
autre solution : chemin du fichier dans une cellule, A2 par exemple,
nommer la cellule A2 et utiliser ce nom dans la formule.

J'ai essayé et cela n'a pas fonctionné. Soit je fais une erreur, soit
j'ai atteint la limite de sommeprod.

Quelqu'un a-t-il déjà rencontré mon problème ?

voici un exemple de formule pour le stock initial :

=SOMMEPROD((mois([Produits2008.xls]Feuil1!$B$2:$B$250)=1)*
(jour([Produits2008.xls]Feuil1!$B$2:$B
$250)=1)*
([Produits2008.xls]Feuil1!$D$2:$D$250)=$A$1)*
([Produits2008.xls]Feuil1!$C$2:$C$250))

Merci d'avance pour votre réponse,
Kémi


Bonjour Jean-François,

Merci pour ta réponse que je viens de tester sans succès.

D'abord, essai d'une formule simplifiée
=SOMMEPROD(([Produits2009.xls]Feuil1!$D$2:$D$13=$A
$1)*([Produits2009.xls]Feuil1!$C$2:$C$13))
=> cela fonctionne

Ensuite, D2 inscrit dans la cellule D1 puis ta formule
=SOMMEPROD((indirect("[Produits"&$D$1&".xls]Feuil1!$D$2:$D$13")=$A
$1)*(indirect("[Produits"&$A$1&".xls]Feuil1!$C$2:$C$13")))
=> la formule renvoie #REF!

Je suis allée dans l'aide d'excel et j'ai testé les exemples avec
INDIRECT

J'écris D2 dans la cellule D1 et 2009 dans la cellule D2

Dans d'autres cellules :

=INDIRECT($A$1) donne 2009
=INDIRECT($A$2) donne #REF!

Autres exemples

="Produits "&indirect($A$1) donne Produits 2009
=indirect("Produits"&$A$1) donne #REF!

Je n'y vois pas bien clair !

Kémi

Avatar
MichDenis
la fonction indirect() ne fonctionne pas si le fichier est fermé.

Si tu y tiens, tu peux passer par la fonction Indirect.ext() émanant
de la macro complémentaire "FunCustomize_Fr.zip" que tu peux
télécharger : http://xcell05.free.fr/morefunc/french/

Un exemple de syntaxe :

Voici un exemple de syntaxe :
A1 = Classeur1.xls
A2 = Feuil1

Cette formule renvoie le nombre fois que "toto" est inscrit en A1:A10
où l'on retrouve dans la colonne "B1:B10" la valeur "x".
(ce n'est qu'une formule sur une même ligne)
=SOMMEPROD(((INDIRECT.EXT("'C:["&A1&"]"&A2&"'!A1:A10")="toto")*((INDIRECT.EXT("'C:["&A1&"]"&A2&"'!B1:B10")="x"))))

=SOMMEPROD((INDIRECT.EXT("'C:["&A1&"]Feuil1'!A1:A10")="toto")*1)


"Kémi" a écrit dans le message de news:

On 27 jan, 11:13, "Jean-François Aubert" <à
wrote:
Salut Kémi,

regarde avec la fonction INDIRECT

en D2 tu mets 2008 (tu peux à tout moment changer l'année, cela affichera
les résultats du fichier comportant l'année inscrite en D2)

=SOMMEPROD((INDIRECT("[Produits"
&D2&"]Feuil1!A1:A20")>5)*(INDIRECT("[Produits"&D2&"]Feuil1!A1:A20")<7))

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}

"Kémi" a écrit dans le message de news:

Bonsoir,

J'utilise la formule sommeprod pour remplir un tableau de stock dans
un fichier nommé "Stocks.xls".

La formule va chercher le renseignement voulu dans un fichier nommé
"Produits2008.xls".

Les formules fonctionnent très bien.

Mon souhait est de réutiliser le même fichier "Stocks.xls" l'année
prochaine. Seulement, les données à chercher seraient dans un fichier
différent appelé "Produits2009.xls".

Faudra-t-il que je modifie une à une mes formules ? J'ai pensé à une
autre solution : chemin du fichier dans une cellule, A2 par exemple,
nommer la cellule A2 et utiliser ce nom dans la formule.

J'ai essayé et cela n'a pas fonctionné. Soit je fais une erreur, soit
j'ai atteint la limite de sommeprod.

Quelqu'un a-t-il déjà rencontré mon problème ?

voici un exemple de formule pour le stock initial :

=SOMMEPROD((mois([Produits2008.xls]Feuil1!$B$2:$B$250)=1)*
(jour([Produits2008.xls]Feuil1!$B$2:$B
$250)=1)*
([Produits2008.xls]Feuil1!$D$2:$D$250)=$A$1)*
([Produits2008.xls]Feuil1!$C$2:$C$250))

Merci d'avance pour votre réponse,
Kémi


Bonjour Jean-François,

Merci pour ta réponse que je viens de tester sans succès.

D'abord, essai d'une formule simplifiée
=SOMMEPROD(([Produits2009.xls]Feuil1!$D$2:$D$13=$A
$1)*([Produits2009.xls]Feuil1!$C$2:$C$13))
=> cela fonctionne

Ensuite, D2 inscrit dans la cellule D1 puis ta formule
=SOMMEPROD((indirect("[Produits"&$D$1&".xls]Feuil1!$D$2:$D$13")=$A
$1)*(indirect("[Produits"&$A$1&".xls]Feuil1!$C$2:$C$13")))
=> la formule renvoie #REF!

Je suis allée dans l'aide d'excel et j'ai testé les exemples avec
INDIRECT

J'écris D2 dans la cellule D1 et 2009 dans la cellule D2

Dans d'autres cellules :

=INDIRECT($A$1) donne 2009
=INDIRECT($A$2) donne #REF!

Autres exemples

="Produits "&indirect($A$1) donne Produits 2009
=indirect("Produits"&$A$1) donne #REF!

Je n'y vois pas bien clair !

Kémi

Avatar
Kémi
On 27 jan, 13:59, "MichDenis" wrote:
quand tu veux modifier la source (fichier) d'un lien avec un autre classeu r,
As-tu essayé la commande : Édition / Liaisons / tu sélectionnes la f enêtre
le lien que tu veux modifier / un clic sur le bouton "Modifier" et tu sé lectionnes
dans la fenêtre ouvrante, le nouveau classeur. Toutes tes formules devra ient
se mettre à jour. Cette manipulation peut se faire aussi par macro le ca s échéant.

"Kémi" a écrit dans le message de news:

Bonsoir,

J'utilise la formulesommeprodpour remplir un tableau de stock dans
un fichier nommé "Stocks.xls".

La formule va chercher le renseignement voulu dans un fichier nommé
"Produits2008.xls".

Les formules fonctionnent très bien.

Mon souhait est de réutiliser le même fichier "Stocks.xls" l'année
prochaine. Seulement, les données à chercher seraient dans un fichier
différent appelé "Produits2009.xls".

Faudra-t-il que je modifie une à une mes formules ? J'ai pensé à une
autre solution : chemin du fichier dans une cellule, A2 par exemple,
nommer la cellule A2 et utiliser ce nom dans la formule.

J'ai essayé et cela n'a pas fonctionné. Soit je fais une erreur, soit
j'ai atteint la limite desommeprod.

Quelqu'un a-t-il déjà rencontré mon problème ?

voici un exemple de formule pour le stock initial :

=SOMMEPROD((mois([Produits2008.xls]Feuil1!$B$2:$B$250)=1)*
(jour([Produits2008.xls]Feuil1!$B$2:$B
$250)=1)*
([Produits2008.xls]Feuil1!$D$2:$D$250)=$A$1)*
([Produits2008.xls]Feuil1!$C$2:$C$250))

Merci d'avance pour votre réponse,
Kémi


Un super merci, çà fonctionne "aux petits oignons"

mon exemple était simple, mais j'ai en tête des fichiers plus
complexes pour lesquels tu viens de me donner la solution.

Merci encore !

Kémi