Chemin de fichier dans une formule sommeprod

Le
Kémi
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
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
isabelle
Le #5140191
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


Kémi
Le #5140141
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


Jean-François Aubert
Le #5140081
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"
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
MichDenis
Le #5139941
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"
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
Kémi
Le #5139901
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"
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

MichDenis
Le #5139871
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"
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"
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

Kémi
Le #5139861
On 27 jan, 13:59, "MichDenis"
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"
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

Publicité
Poster une réponse
Anonyme