Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Ruiz,
Si ton fichier extérieur est ouvert, tu peux utiliser ce type de syntaxe : A1 = Nom Complet du classeur + extension =SOMMEPROD((INDIRECT("["&A1&"]Feuil1!A1:A10")="toto")*1)
La fonction indirect n'est pas disponible avec un classeur fermé.
Laurent Longré a créé en outre la fonction Indirect.Ext. Pour y avoir accès, tu dois télécharger ce fichier : Morefunc.xll 4.01 à cette adresse : http://xcell05.free.fr/
Une exemple de syntaxe suite à l'installation du fichier :
alors qu'avec le classeur pas variable ça marche très bien: =SOMMEPROD(('C:biblio[livre.xls]Feuil1'!$A$1:$A$2000="alain souchon")*1)
merci de votre idée.. ps: et si la Feuil est aussi variable..?
Bonjour Ruiz,
Si ton fichier extérieur est ouvert, tu peux utiliser ce type de syntaxe :
A1 = Nom Complet du classeur + extension
=SOMMEPROD((INDIRECT("["&A1&"]Feuil1!A1:A10")="toto")*1)
La fonction indirect n'est pas disponible avec un classeur fermé.
Laurent Longré a créé en outre la fonction Indirect.Ext.
Pour y avoir accès, tu dois télécharger ce fichier : Morefunc.xll 4.01
à cette adresse : http://xcell05.free.fr/
Une exemple de syntaxe suite à l'installation du fichier :
"ruiz" <ruiz@discussions.microsoft.com> a écrit dans le message de news: 8A18283E-2919-43EE-B53A-7C3A1D7B2E22@microsoft.com...
bonsoir / bonjour,
je ne comprends pas pourquoi cette formule ne marche pas:
Si ton fichier extérieur est ouvert, tu peux utiliser ce type de syntaxe : A1 = Nom Complet du classeur + extension =SOMMEPROD((INDIRECT("["&A1&"]Feuil1!A1:A10")="toto")*1)
La fonction indirect n'est pas disponible avec un classeur fermé.
Laurent Longré a créé en outre la fonction Indirect.Ext. Pour y avoir accès, tu dois télécharger ce fichier : Morefunc.xll 4.01 à cette adresse : http://xcell05.free.fr/
Une exemple de syntaxe suite à l'installation du fichier :
alors qu'avec le classeur pas variable ça marche très bien: =SOMMEPROD(('C:biblio[livre.xls]Feuil1'!$A$1:$A$2000="alain souchon")*1)
merci de votre idée.. ps: et si la Feuil est aussi variable..?
JB
Bonjour,
Voir PJ: http://cjoint.com/?bmhREfnmpD
(Les 3 fichiers sont à placer dans le même répertoire)
La formule référence un classeur fermé. On écrit la formule dynamiquement lorsque le classeur est choisi dans une liste déroulante en B2.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then n = [B4].CurrentRegion.Resize(, 1).Count [c4].FormulaR1C1 = "=SUMPRODUCT(([" & Target.Value & "]feuil1!R2C1:R11C1=RC[-1])*1)" [c4].Copy [c4].Resize(n) ' Recopie de la formule End If End Sub
B C 4 Alain souchon 2 5 Lio 2 6 Brassens 1 7 Dalida 1
Cordialement JB
Bonjour,
Voir PJ: http://cjoint.com/?bmhREfnmpD
(Les 3 fichiers sont à placer dans le même répertoire)
La formule référence un classeur fermé. On écrit la formule
dynamiquement lorsque le classeur est choisi dans une liste déroulante
en B2.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
n = [B4].CurrentRegion.Resize(, 1).Count
[c4].FormulaR1C1 = "=SUMPRODUCT(([" & Target.Value &
"]feuil1!R2C1:R11C1=RC[-1])*1)"
[c4].Copy [c4].Resize(n) ' Recopie de la
formule
End If
End Sub
B C
4 Alain souchon 2
5 Lio 2
6 Brassens 1
7 Dalida 1
(Les 3 fichiers sont à placer dans le même répertoire)
La formule référence un classeur fermé. On écrit la formule dynamiquement lorsque le classeur est choisi dans une liste déroulante en B2.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then n = [B4].CurrentRegion.Resize(, 1).Count [c4].FormulaR1C1 = "=SUMPRODUCT(([" & Target.Value & "]feuil1!R2C1:R11C1=RC[-1])*1)" [c4].Copy [c4].Resize(n) ' Recopie de la formule End If End Sub
B C 4 Alain souchon 2 5 Lio 2 6 Brassens 1 7 Dalida 1
Cordialement JB
ruiz
Merci de vos réponses, je vais tester tout ça..
Bonjour,
Voir PJ: http://cjoint.com/?bmhREfnmpD
(Les 3 fichiers sont à placer dans le même répertoire)
La formule référence un classeur fermé. On écrit la formule dynamiquement lorsque le classeur est choisi dans une liste déroulante en B2.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then n = [B4].CurrentRegion.Resize(, 1).Count [c4].FormulaR1C1 = "=SUMPRODUCT(([" & Target.Value & "]feuil1!R2C1:R11C1=RC[-1])*1)" [c4].Copy [c4].Resize(n) ' Recopie de la formule End If End Sub
B C 4 Alain souchon 2 5 Lio 2 6 Brassens 1 7 Dalida 1
Cordialement JB
Merci de vos réponses, je vais tester tout ça..
Bonjour,
Voir PJ: http://cjoint.com/?bmhREfnmpD
(Les 3 fichiers sont à placer dans le même répertoire)
La formule référence un classeur fermé. On écrit la formule
dynamiquement lorsque le classeur est choisi dans une liste déroulante
en B2.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
n = [B4].CurrentRegion.Resize(, 1).Count
[c4].FormulaR1C1 = "=SUMPRODUCT(([" & Target.Value &
"]feuil1!R2C1:R11C1=RC[-1])*1)"
[c4].Copy [c4].Resize(n) ' Recopie de la
formule
End If
End Sub
B C
4 Alain souchon 2
5 Lio 2
6 Brassens 1
7 Dalida 1
(Les 3 fichiers sont à placer dans le même répertoire)
La formule référence un classeur fermé. On écrit la formule dynamiquement lorsque le classeur est choisi dans une liste déroulante en B2.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then n = [B4].CurrentRegion.Resize(, 1).Count [c4].FormulaR1C1 = "=SUMPRODUCT(([" & Target.Value & "]feuil1!R2C1:R11C1=RC[-1])*1)" [c4].Copy [c4].Resize(n) ' Recopie de la formule End If End Sub
B C 4 Alain souchon 2 5 Lio 2 6 Brassens 1 7 Dalida 1
Cordialement JB
ruiz
Bonjour michdenis, j'utilise deja la fonction INDIRECT.EXT mais ton 2eme exemple de syntax avec un classeur femé me renvoie #VALEUR..
Bonjour Ruiz,
Si ton fichier extérieur est ouvert, tu peux utiliser ce type de syntaxe : A1 = Nom Complet du classeur + extension =SOMMEPROD((INDIRECT("["&A1&"]Feuil1!A1:A10")="toto")*1)
La fonction indirect n'est pas disponible avec un classeur fermé.
Laurent Longré a créé en outre la fonction Indirect.Ext. Pour y avoir accès, tu dois télécharger ce fichier : Morefunc.xll 4.01 à cette adresse : http://xcell05.free.fr/
Une exemple de syntaxe suite à l'installation du fichier :
alors qu'avec le classeur pas variable ça marche très bien: =SOMMEPROD(('C:biblio[livre.xls]Feuil1'!$A$1:$A$2000="alain souchon")*1)
merci de votre idée.. ps: et si la Feuil est aussi variable..?
Bonjour michdenis,
j'utilise deja la fonction INDIRECT.EXT mais ton 2eme exemple de syntax avec
un classeur femé me renvoie #VALEUR..
Bonjour Ruiz,
Si ton fichier extérieur est ouvert, tu peux utiliser ce type de syntaxe :
A1 = Nom Complet du classeur + extension
=SOMMEPROD((INDIRECT("["&A1&"]Feuil1!A1:A10")="toto")*1)
La fonction indirect n'est pas disponible avec un classeur fermé.
Laurent Longré a créé en outre la fonction Indirect.Ext.
Pour y avoir accès, tu dois télécharger ce fichier : Morefunc.xll 4.01
à cette adresse : http://xcell05.free.fr/
Une exemple de syntaxe suite à l'installation du fichier :
"ruiz" <ruiz@discussions.microsoft.com> a écrit dans le message de news: 8A18283E-2919-43EE-B53A-7C3A1D7B2E22@microsoft.com...
bonsoir / bonjour,
je ne comprends pas pourquoi cette formule ne marche pas:
Bonjour michdenis, j'utilise deja la fonction INDIRECT.EXT mais ton 2eme exemple de syntax avec un classeur femé me renvoie #VALEUR..
Bonjour Ruiz,
Si ton fichier extérieur est ouvert, tu peux utiliser ce type de syntaxe : A1 = Nom Complet du classeur + extension =SOMMEPROD((INDIRECT("["&A1&"]Feuil1!A1:A10")="toto")*1)
La fonction indirect n'est pas disponible avec un classeur fermé.
Laurent Longré a créé en outre la fonction Indirect.Ext. Pour y avoir accès, tu dois télécharger ce fichier : Morefunc.xll 4.01 à cette adresse : http://xcell05.free.fr/
Une exemple de syntaxe suite à l'installation du fichier :
alors qu'avec le classeur pas variable ça marche très bien: =SOMMEPROD(('C:biblio[livre.xls]Feuil1'!$A$1:$A$2000="alain souchon")*1)
merci de votre idée.. ps: et si la Feuil est aussi variable..?
michdenis
| =SOMMEPROD((INDIRECT.EXT("'C:["&A1&"]Feuil1'!A1:A10")="toto")*1) | j'utilise deja la fonction INDIRECT.EXT mais ton 2eme exemple de syntax avec | un classeur femé me renvoie #VALEUR..
Testé à nouveau ce matin, et cette formule fonctionne correctement. Il faut chercher ailleurs que dans la syntaxe pourquoi tu obtiens #VALEUR comme résultat !!!!!!
Salutations!
| =SOMMEPROD((INDIRECT.EXT("'C:["&A1&"]Feuil1'!A1:A10")="toto")*1)
| j'utilise deja la fonction INDIRECT.EXT mais ton 2eme exemple de syntax avec
| un classeur femé me renvoie #VALEUR..
Testé à nouveau ce matin, et cette formule fonctionne correctement. Il faut chercher
ailleurs que dans la syntaxe pourquoi tu obtiens #VALEUR comme résultat !!!!!!
| =SOMMEPROD((INDIRECT.EXT("'C:["&A1&"]Feuil1'!A1:A10")="toto")*1) | j'utilise deja la fonction INDIRECT.EXT mais ton 2eme exemple de syntax avec | un classeur femé me renvoie #VALEUR..
Testé à nouveau ce matin, et cette formule fonctionne correctement. Il faut chercher ailleurs que dans la syntaxe pourquoi tu obtiens #VALEUR comme résultat !!!!!!
Salutations!
ruiz
Bonjour JB,
Dans votre exemple avec LivresInterro, votre formule sommeprod ne peut pas marcher avec un classeur fermé et variable en B2 comme ceci: =SOMMEPROD(('C:test["&B2&"]Feuil1'!$A$2:$A$11´)*1)
ça donne #REF!...
Bonjour,
Voir PJ: http://cjoint.com/?bmhREfnmpD
(Les 3 fichiers sont à placer dans le même répertoire)
La formule référence un classeur fermé. On écrit la formule dynamiquement lorsque le classeur est choisi dans une liste déroulante en B2.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then n = [B4].CurrentRegion.Resize(, 1).Count [c4].FormulaR1C1 = "=SUMPRODUCT(([" & Target.Value & "]feuil1!R2C1:R11C1=RC[-1])*1)" [c4].Copy [c4].Resize(n) ' Recopie de la formule End If End Sub
B C 4 Alain souchon 2 5 Lio 2 6 Brassens 1 7 Dalida 1
Cordialement JB
Bonjour JB,
Dans votre exemple avec LivresInterro, votre formule sommeprod ne peut pas
marcher avec un classeur fermé et variable en B2 comme ceci:
=SOMMEPROD(('C:test["&B2&"]Feuil1'!$A$2:$A$11´)*1)
ça donne #REF!...
Bonjour,
Voir PJ: http://cjoint.com/?bmhREfnmpD
(Les 3 fichiers sont à placer dans le même répertoire)
La formule référence un classeur fermé. On écrit la formule
dynamiquement lorsque le classeur est choisi dans une liste déroulante
en B2.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
n = [B4].CurrentRegion.Resize(, 1).Count
[c4].FormulaR1C1 = "=SUMPRODUCT(([" & Target.Value &
"]feuil1!R2C1:R11C1=RC[-1])*1)"
[c4].Copy [c4].Resize(n) ' Recopie de la
formule
End If
End Sub
B C
4 Alain souchon 2
5 Lio 2
6 Brassens 1
7 Dalida 1
Dans votre exemple avec LivresInterro, votre formule sommeprod ne peut pas marcher avec un classeur fermé et variable en B2 comme ceci: =SOMMEPROD(('C:test["&B2&"]Feuil1'!$A$2:$A$11´)*1)
ça donne #REF!...
Bonjour,
Voir PJ: http://cjoint.com/?bmhREfnmpD
(Les 3 fichiers sont à placer dans le même répertoire)
La formule référence un classeur fermé. On écrit la formule dynamiquement lorsque le classeur est choisi dans une liste déroulante en B2.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" Then n = [B4].CurrentRegion.Resize(, 1).Count [c4].FormulaR1C1 = "=SUMPRODUCT(([" & Target.Value & "]feuil1!R2C1:R11C1=RC[-1])*1)" [c4].Copy [c4].Resize(n) ' Recopie de la formule End If End Sub
B C 4 Alain souchon 2 5 Lio 2 6 Brassens 1 7 Dalida 1
Cordialement JB
ruiz
ouais c ok. bizzarre..en fait, j'ai juste changer la cellule pour la variable du classeur A1 par un C4 et maintenant ça marche... merci encore.
| =SOMMEPROD((INDIRECT.EXT("'C:["&A1&"]Feuil1'!A1:A10")="toto")*1) | j'utilise deja la fonction INDIRECT.EXT mais ton 2eme exemple de syntax avec | un classeur femé me renvoie #VALEUR..
Testé à nouveau ce matin, et cette formule fonctionne correctement. Il faut chercher ailleurs que dans la syntaxe pourquoi tu obtiens #VALEUR comme résultat !!!!!!
Salutations!
ouais c ok.
bizzarre..en fait, j'ai juste changer la cellule pour la variable du
classeur A1 par un C4 et maintenant ça marche...
merci encore.
| =SOMMEPROD((INDIRECT.EXT("'C:["&A1&"]Feuil1'!A1:A10")="toto")*1)
| j'utilise deja la fonction INDIRECT.EXT mais ton 2eme exemple de syntax avec
| un classeur femé me renvoie #VALEUR..
Testé à nouveau ce matin, et cette formule fonctionne correctement. Il faut chercher
ailleurs que dans la syntaxe pourquoi tu obtiens #VALEUR comme résultat !!!!!!
ouais c ok. bizzarre..en fait, j'ai juste changer la cellule pour la variable du classeur A1 par un C4 et maintenant ça marche... merci encore.
| =SOMMEPROD((INDIRECT.EXT("'C:["&A1&"]Feuil1'!A1:A10")="toto")*1) | j'utilise deja la fonction INDIRECT.EXT mais ton 2eme exemple de syntax avec | un classeur femé me renvoie #VALEUR..
Testé à nouveau ce matin, et cette formule fonctionne correctement. Il faut chercher ailleurs que dans la syntaxe pourquoi tu obtiens #VALEUR comme résultat !!!!!!