OVH Cloud OVH Cloud

Fonction SI et ET

11 réponses
Avatar
Guy72
Bonjour à tous,
En feuille Récap, j'ai :
En D5 j'ai (Guy).
En F5 j'ai un temps (02 :50.113).
En G5 j'ai un texte (Course 3).
En E5 je voudrais le nom qui est en (A155 de la feuille "Ville 1 " ) :
=SI(ET(D5="Guy";G5="Course 1 à Course 16);"Ville 1!A155;"")).
En E7: "Course 17 à Course 32".
En E9: "Course 33 à Course 48".
En E11: "Course 17 à Course 64".
Etc........jusqu'à E21 et ........Course 128.
Mon problème est "Course N° à Course N°" dans la formule si j'ai un seul nom
de Course : ok, mais deux ?????
Cordialement
Guy

10 réponses

1 2
Avatar
Pierre Fauconnier
Bonjour

Si j'ai bien compris ...!!
Tu veux tester que
D5 = "Guy" et G5 = "course 1" ou "course 2" ou "course 3" ou ... ou "course
16"
D7 = "Guy" et G7 = "course 17" ou "course 18" ou ... ou "course 32"
...
...

1. Tester que D5 = "Guy" ne pose pas de problème

2. Extraire le numéro de la course de G... J'ai considéré que tu écrivais
"course " (avec un espace) suivi du numéro.
Dès lors, on utiilse "=substitue(g5;"course ";"")*1 pour obtenir le numéro
de course

3. On va devoir tester que le numéro de la course est compris entre
1 et 16 pour la ligne 5
17 et 32 pour la ligne 7
33 et 48 pour la ligne 9
...
113 et 128 pour la ligne 19

Il faut donc trouver une fonction utilisant le numéro de ligne de la cellule
et donnant les couples suivants
(5,1), (7,17), (9,33),(11,49),...,(19,113)
Cette fonction est f(x) = ((x/2)-2.5)*16+1
En effet, si, dans une cellule de la ligne 5, tu saisis
=((LIGNE()/2-2.5)*16+1), tu obtiens 1
et en copiant cette formule en lignes 7, 9, 11, ..., tu obtiendras 17, 33,
49, ...
Voila pour la borne inférieure du numéro de course.
Pour la borne supérieure, il suffit d'ajouter 15 à la formule précédente
=((LIGNE()/2-2.5)*16+1)+15, soit =((LIGNE()/2-2.5)*16+16)

La formule complète sera donc
=SI(ET(D5="Guy";SUBSTITUE(H5;"course
";"")*1>=((LIGNE()/2-2.5)*16+1);SUBSTITUE(H5;"course
";"")*1<=((LIGNE()/2-2.5)*16+16));'ville 1'!A155;"")

Ok?


--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Guy72" a écrit dans le message de news:

Bonjour à tous,
En feuille Récap, j'ai :
En D5 j'ai (Guy).
En F5 j'ai un temps (02 :50.113).
En G5 j'ai un texte (Course 3).
En E5 je voudrais le nom qui est en (A155 de la feuille "Ville 1 " ) :
=SI(ET(D5="Guy";G5="Course 1 à Course 16);"Ville 1!A155;"")).
En E7: "Course 17 à Course 32".
En E9: "Course 33 à Course 48".
En E11: "Course 17 à Course 64".
Etc........jusqu'à E21 et ........Course 128.
Mon problème est "Course N° à Course N°" dans la formule si j'ai un seul
nom
de Course : ok, mais deux ?????
Cordialement
Guy



Avatar
Guy72
Bonjour,
J'ai peur de ne pas avoir bien expliqué mon énoncée tout simplement trompé.
Je t'envoie un fichier brouillon, tu pourras mieux voir.
http://cjoint.com/?jrj2UxHsXO

--
Cordialement
Guy
"Pierre Fauconnier" a écrit dans le
message de news:
Bonjour

Si j'ai bien compris ...!!
Tu veux tester que
D5 = "Guy" et G5 = "course 1" ou "course 2" ou "course 3" ou ... ou
"course 16"
D7 = "Guy" et G7 = "course 17" ou "course 18" ou ... ou "course 32"
...
...

1. Tester que D5 = "Guy" ne pose pas de problème

2. Extraire le numéro de la course de G... J'ai considéré que tu écrivais
"course " (avec un espace) suivi du numéro.
Dès lors, on utiilse "=substitue(g5;"course ";"")*1 pour obtenir le numéro
de course

3. On va devoir tester que le numéro de la course est compris entre
1 et 16 pour la ligne 5
17 et 32 pour la ligne 7
33 et 48 pour la ligne 9
...
113 et 128 pour la ligne 19

Il faut donc trouver une fonction utilisant le numéro de ligne de la
cellule et donnant les couples suivants
(5,1), (7,17), (9,33),(11,49),...,(19,113)
Cette fonction est f(x) = ((x/2)-2.5)*16+1
En effet, si, dans une cellule de la ligne 5, tu saisis
=((LIGNE()/2-2.5)*16+1), tu obtiens 1
et en copiant cette formule en lignes 7, 9, 11, ..., tu obtiendras 17, 33,
49, ...
Voila pour la borne inférieure du numéro de course.
Pour la borne supérieure, il suffit d'ajouter 15 à la formule précédente
=((LIGNE()/2-2.5)*16+1)+15, soit =((LIGNE()/2-2.5)*16+16)

La formule complète sera donc
=SI(ET(D5="Guy";SUBSTITUE(H5;"course
";"")*1>=((LIGNE()/2-2.5)*16+1);SUBSTITUE(H5;"course
";"")*1<=((LIGNE()/2-2.5)*16+16));'ville 1'!A155;"")

Ok?


--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Guy72" a écrit dans le message de news:

Bonjour à tous,
En feuille Récap, j'ai :
En D5 j'ai (Guy).
En F5 j'ai un temps (02 :50.113).
En G5 j'ai un texte (Course 3).
En E5 je voudrais le nom qui est en (A155 de la feuille "Ville 1 " ) :
=SI(ET(D5="Guy";G5="Course 1 à Course 16);"Ville 1!A155;"")).
En E7: "Course 17 à Course 32".
En E9: "Course 33 à Course 48".
En E11: "Course 17 à Course 64".
Etc........jusqu'à E21 et ........Course 128.
Mon problème est "Course N° à Course N°" dans la formule si j'ai un seul
nom
de Course : ok, mais deux ?????
Cordialement
Guy







Avatar
Jacky
Bonjour,
Avec une petite fonction ..peut-être
http://cjoint.com/?jrlwQMj3sV
Salutations
JJ

"Guy72" a écrit dans le message de
news:
Bonjour,
J'ai peur de ne pas avoir bien expliqué mon énoncée tout simplement
trompé.

Je t'envoie un fichier brouillon, tu pourras mieux voir.
http://cjoint.com/?jrj2UxHsXO

--
Cordialement
Guy
"Pierre Fauconnier" a écrit dans le
message de news:
Bonjour

Si j'ai bien compris ...!!
Tu veux tester que
D5 = "Guy" et G5 = "course 1" ou "course 2" ou "course 3" ou ... ou
"course 16"
D7 = "Guy" et G7 = "course 17" ou "course 18" ou ... ou "course 32"
...
...

1. Tester que D5 = "Guy" ne pose pas de problème

2. Extraire le numéro de la course de G... J'ai considéré que tu
écrivais


"course " (avec un espace) suivi du numéro.
Dès lors, on utiilse "=substitue(g5;"course ";"")*1 pour obtenir le
numéro


de course

3. On va devoir tester que le numéro de la course est compris entre
1 et 16 pour la ligne 5
17 et 32 pour la ligne 7
33 et 48 pour la ligne 9
...
113 et 128 pour la ligne 19

Il faut donc trouver une fonction utilisant le numéro de ligne de la
cellule et donnant les couples suivants
(5,1), (7,17), (9,33),(11,49),...,(19,113)
Cette fonction est f(x) = ((x/2)-2.5)*16+1
En effet, si, dans une cellule de la ligne 5, tu saisis
=((LIGNE()/2-2.5)*16+1), tu obtiens 1
et en copiant cette formule en lignes 7, 9, 11, ..., tu obtiendras 17,
33,


49, ...
Voila pour la borne inférieure du numéro de course.
Pour la borne supérieure, il suffit d'ajouter 15 à la formule précédente
=((LIGNE()/2-2.5)*16+1)+15, soit =((LIGNE()/2-2.5)*16+16)

La formule complète sera donc
=SI(ET(D5="Guy";SUBSTITUE(H5;"course
";"")*1>=((LIGNE()/2-2.5)*16+1);SUBSTITUE(H5;"course
";"")*1<=((LIGNE()/2-2.5)*16+16));'ville 1'!A155;"")

Ok?


--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Guy72" a écrit dans le message de news:

Bonjour à tous,
En feuille Récap, j'ai :
En D5 j'ai (Guy).
En F5 j'ai un temps (02 :50.113).
En G5 j'ai un texte (Course 3).
En E5 je voudrais le nom qui est en (A155 de la feuille "Ville 1 " ) :
=SI(ET(D5="Guy";G5="Course 1 à Course 16);"Ville 1!A155;"")).
En E7: "Course 17 à Course 32".
En E9: "Course 33 à Course 48".
En E11: "Course 17 à Course 64".
Etc........jusqu'à E21 et ........Course 128.
Mon problème est "Course N° à Course N°" dans la formule si j'ai un
seul



nom
de Course : ok, mais deux ?????
Cordialement
Guy











Avatar
Guy72
Salut Jacky,
Tu vois ça comme çà ,tout simplement.
Eh bien bravo, pour moi cela me paraissait bien plus compliqué.
Cordialement
Guy

"Jacky" a écrit dans le message de news:
%
Bonjour,
Avec une petite fonction ..peut-être
http://cjoint.com/?jrlwQMj3sV
Salutations
JJ

"Guy72" a écrit dans le message de
news:
Bonjour,
J'ai peur de ne pas avoir bien expliqué mon énoncée tout simplement
trompé.

Je t'envoie un fichier brouillon, tu pourras mieux voir.
http://cjoint.com/?jrj2UxHsXO

--
Cordialement
Guy
"Pierre Fauconnier" a écrit dans le
message de news:
Bonjour

Si j'ai bien compris ...!!
Tu veux tester que
D5 = "Guy" et G5 = "course 1" ou "course 2" ou "course 3" ou ... ou
"course 16"
D7 = "Guy" et G7 = "course 17" ou "course 18" ou ... ou "course 32"
...
...

1. Tester que D5 = "Guy" ne pose pas de problème

2. Extraire le numéro de la course de G... J'ai considéré que tu
écrivais


"course " (avec un espace) suivi du numéro.
Dès lors, on utiilse "=substitue(g5;"course ";"")*1 pour obtenir le
numéro


de course

3. On va devoir tester que le numéro de la course est compris entre
1 et 16 pour la ligne 5
17 et 32 pour la ligne 7
33 et 48 pour la ligne 9
...
113 et 128 pour la ligne 19

Il faut donc trouver une fonction utilisant le numéro de ligne de la
cellule et donnant les couples suivants
(5,1), (7,17), (9,33),(11,49),...,(19,113)
Cette fonction est f(x) = ((x/2)-2.5)*16+1
En effet, si, dans une cellule de la ligne 5, tu saisis
=((LIGNE()/2-2.5)*16+1), tu obtiens 1
et en copiant cette formule en lignes 7, 9, 11, ..., tu obtiendras 17,
33,


49, ...
Voila pour la borne inférieure du numéro de course.
Pour la borne supérieure, il suffit d'ajouter 15 à la formule
précédente
=((LIGNE()/2-2.5)*16+1)+15, soit =((LIGNE()/2-2.5)*16+16)

La formule complète sera donc
=SI(ET(D5="Guy";SUBSTITUE(H5;"course
";"")*1>=((LIGNE()/2-2.5)*16+1);SUBSTITUE(H5;"course
";"")*1<=((LIGNE()/2-2.5)*16+16));'ville 1'!A155;"")

Ok?


--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Guy72" a écrit dans le message de news:

Bonjour à tous,
En feuille Récap, j'ai :
En D5 j'ai (Guy).
En F5 j'ai un temps (02 :50.113).
En G5 j'ai un texte (Course 3).
En E5 je voudrais le nom qui est en (A155 de la feuille "Ville 1 " ) :
=SI(ET(D5="Guy";G5="Course 1 à Course 16);"Ville 1!A155;"")).
En E7: "Course 17 à Course 32".
En E9: "Course 33 à Course 48".
En E11: "Course 17 à Course 64".
Etc........jusqu'à E21 et ........Course 128.
Mon problème est "Course N° à Course N°" dans la formule si j'ai un
seul



nom
de Course : ok, mais deux ?????
Cordialement
Guy
















Avatar
Guy72
Bonsoir Jacky,
Je suis embêté, quand je met le tout dans mon dossier original, çà ne
fonctionne pas, cela me met
#VALEUR!
que faut il que je change ?
Cordialement
Guy

"Jacky" a écrit dans le message de news:
%
Bonjour,
Avec une petite fonction ..peut-être
http://cjoint.com/?jrlwQMj3sV
Salutations
JJ

"Guy72" a écrit dans le message de
news:
Bonjour,
J'ai peur de ne pas avoir bien expliqué mon énoncée tout simplement
trompé.

Je t'envoie un fichier brouillon, tu pourras mieux voir.
http://cjoint.com/?jrj2UxHsXO

--
Cordialement
Guy
"Pierre Fauconnier" a écrit dans le
message de news:
Bonjour

Si j'ai bien compris ...!!
Tu veux tester que
D5 = "Guy" et G5 = "course 1" ou "course 2" ou "course 3" ou ... ou
"course 16"
D7 = "Guy" et G7 = "course 17" ou "course 18" ou ... ou "course 32"
...
...

1. Tester que D5 = "Guy" ne pose pas de problème

2. Extraire le numéro de la course de G... J'ai considéré que tu
écrivais


"course " (avec un espace) suivi du numéro.
Dès lors, on utiilse "=substitue(g5;"course ";"")*1 pour obtenir le
numéro


de course

3. On va devoir tester que le numéro de la course est compris entre
1 et 16 pour la ligne 5
17 et 32 pour la ligne 7
33 et 48 pour la ligne 9
...
113 et 128 pour la ligne 19

Il faut donc trouver une fonction utilisant le numéro de ligne de la
cellule et donnant les couples suivants
(5,1), (7,17), (9,33),(11,49),...,(19,113)
Cette fonction est f(x) = ((x/2)-2.5)*16+1
En effet, si, dans une cellule de la ligne 5, tu saisis
=((LIGNE()/2-2.5)*16+1), tu obtiens 1
et en copiant cette formule en lignes 7, 9, 11, ..., tu obtiendras 17,
33,


49, ...
Voila pour la borne inférieure du numéro de course.
Pour la borne supérieure, il suffit d'ajouter 15 à la formule
précédente
=((LIGNE()/2-2.5)*16+1)+15, soit =((LIGNE()/2-2.5)*16+16)

La formule complète sera donc
=SI(ET(D5="Guy";SUBSTITUE(H5;"course
";"")*1>=((LIGNE()/2-2.5)*16+1);SUBSTITUE(H5;"course
";"")*1<=((LIGNE()/2-2.5)*16+16));'ville 1'!A155;"")

Ok?


--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Guy72" a écrit dans le message de news:

Bonjour à tous,
En feuille Récap, j'ai :
En D5 j'ai (Guy).
En F5 j'ai un temps (02 :50.113).
En G5 j'ai un texte (Course 3).
En E5 je voudrais le nom qui est en (A155 de la feuille "Ville 1 " ) :
=SI(ET(D5="Guy";G5="Course 1 à Course 16);"Ville 1!A155;"")).
En E7: "Course 17 à Course 32".
En E9: "Course 33 à Course 48".
En E11: "Course 17 à Course 64".
Etc........jusqu'à E21 et ........Course 128.
Mon problème est "Course N° à Course N°" dans la formule si j'ai un
seul



nom
de Course : ok, mais deux ?????
Cordialement
Guy
















Avatar
Jacky
Re....

Ben..il y a beaucoup plus simple, mais il faut agencer ton tableau
différemment.
Et cela je ne sais pas si tu le souhaites.

Plutôt que de chercher une formule trop lourde.
Je pense que Pierre sera d'accord.

Comme cela par exemple:
http://cjoint.com/?jrtsmybSfI

Ps: évite aussi l'espace ou les noms composés dans les noms de feuille,
c'est sujet à complication.

Salutations
JJ

"Guy72" a écrit dans le message de
news:%
Salut Jacky,
Tu vois ça comme çà ,tout simplement.
Eh bien bravo, pour moi cela me paraissait bien plus compliqué.
Cordialement
Guy

"Jacky" a écrit dans le message de news:
%
Bonjour,
Avec une petite fonction ..peut-être
http://cjoint.com/?jrlwQMj3sV
Salutations
JJ

"Guy72" a écrit dans le message de
news:
Bonjour,
J'ai peur de ne pas avoir bien expliqué mon énoncée tout simplement
trompé.

Je t'envoie un fichier brouillon, tu pourras mieux voir.
http://cjoint.com/?jrj2UxHsXO

--
Cordialement
Guy
"Pierre Fauconnier" a écrit dans le
message de news:
Bonjour

Si j'ai bien compris ...!!
Tu veux tester que
D5 = "Guy" et G5 = "course 1" ou "course 2" ou "course 3" ou ... ou
"course 16"
D7 = "Guy" et G7 = "course 17" ou "course 18" ou ... ou "course 32"
...
...

1. Tester que D5 = "Guy" ne pose pas de problème

2. Extraire le numéro de la course de G... J'ai considéré que tu
écrivais


"course " (avec un espace) suivi du numéro.
Dès lors, on utiilse "=substitue(g5;"course ";"")*1 pour obtenir le
numéro


de course

3. On va devoir tester que le numéro de la course est compris entre
1 et 16 pour la ligne 5
17 et 32 pour la ligne 7
33 et 48 pour la ligne 9
...
113 et 128 pour la ligne 19

Il faut donc trouver une fonction utilisant le numéro de ligne de la
cellule et donnant les couples suivants
(5,1), (7,17), (9,33),(11,49),...,(19,113)
Cette fonction est f(x) = ((x/2)-2.5)*16+1
En effet, si, dans une cellule de la ligne 5, tu saisis
=((LIGNE()/2-2.5)*16+1), tu obtiens 1
et en copiant cette formule en lignes 7, 9, 11, ..., tu obtiendras
17,




33,
49, ...
Voila pour la borne inférieure du numéro de course.
Pour la borne supérieure, il suffit d'ajouter 15 à la formule
précédente
=((LIGNE()/2-2.5)*16+1)+15, soit =((LIGNE()/2-2.5)*16+16)

La formule complète sera donc
=SI(ET(D5="Guy";SUBSTITUE(H5;"course
";"")*1>=((LIGNE()/2-2.5)*16+1);SUBSTITUE(H5;"course
";"")*1<=((LIGNE()/2-2.5)*16+16));'ville 1'!A155;"")

Ok?


--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Guy72" a écrit dans le message de news:

Bonjour à tous,
En feuille Récap, j'ai :
En D5 j'ai (Guy).
En F5 j'ai un temps (02 :50.113).
En G5 j'ai un texte (Course 3).
En E5 je voudrais le nom qui est en (A155 de la feuille "Ville 1 " )
:





=SI(ET(D5="Guy";G5="Course 1 à Course 16);"Ville 1!A155;"")).
En E7: "Course 17 à Course 32".
En E9: "Course 33 à Course 48".
En E11: "Course 17 à Course 64".
Etc........jusqu'à E21 et ........Course 128.
Mon problème est "Course N° à Course N°" dans la formule si j'ai un
seul



nom
de Course : ok, mais deux ?????
Cordialement
Guy




















Avatar
Jacky
Re...
Il faut aussi copier la Fonction perso. dans un module.

1- Dans le fichier que j'ai envoyé.
Alt+F11>>>Fenêtre à gauche "Vba Project">>>clique sur module 1
Copie le code qui s'affiche dans la fenêtre de droite.
Ferme ce fichier.

2- Ouvre ton fichier
Alt+F11>>>insertion/module >> coller.
et zou, la formule(devrait) fonctionne.

JJ

"Guy72" a écrit dans le message de
news:
Bonsoir Jacky,
Je suis embêté, quand je met le tout dans mon dossier original, çà ne
fonctionne pas, cela me met
#VALEUR!
que faut il que je change ?
Cordialement
Guy

"Jacky" a écrit dans le message de news:
%
Bonjour,
Avec une petite fonction ..peut-être
http://cjoint.com/?jrlwQMj3sV
Salutations
JJ

"Guy72" a écrit dans le message de
news:
Bonjour,
J'ai peur de ne pas avoir bien expliqué mon énoncée tout simplement
trompé.

Je t'envoie un fichier brouillon, tu pourras mieux voir.
http://cjoint.com/?jrj2UxHsXO

--
Cordialement
Guy
"Pierre Fauconnier" a écrit dans le
message de news:
Bonjour

Si j'ai bien compris ...!!
Tu veux tester que
D5 = "Guy" et G5 = "course 1" ou "course 2" ou "course 3" ou ... ou
"course 16"
D7 = "Guy" et G7 = "course 17" ou "course 18" ou ... ou "course 32"
...
...

1. Tester que D5 = "Guy" ne pose pas de problème

2. Extraire le numéro de la course de G... J'ai considéré que tu
écrivais


"course " (avec un espace) suivi du numéro.
Dès lors, on utiilse "=substitue(g5;"course ";"")*1 pour obtenir le
numéro


de course

3. On va devoir tester que le numéro de la course est compris entre
1 et 16 pour la ligne 5
17 et 32 pour la ligne 7
33 et 48 pour la ligne 9
...
113 et 128 pour la ligne 19

Il faut donc trouver une fonction utilisant le numéro de ligne de la
cellule et donnant les couples suivants
(5,1), (7,17), (9,33),(11,49),...,(19,113)
Cette fonction est f(x) = ((x/2)-2.5)*16+1
En effet, si, dans une cellule de la ligne 5, tu saisis
=((LIGNE()/2-2.5)*16+1), tu obtiens 1
et en copiant cette formule en lignes 7, 9, 11, ..., tu obtiendras
17,




33,
49, ...
Voila pour la borne inférieure du numéro de course.
Pour la borne supérieure, il suffit d'ajouter 15 à la formule
précédente
=((LIGNE()/2-2.5)*16+1)+15, soit =((LIGNE()/2-2.5)*16+16)

La formule complète sera donc
=SI(ET(D5="Guy";SUBSTITUE(H5;"course
";"")*1>=((LIGNE()/2-2.5)*16+1);SUBSTITUE(H5;"course
";"")*1<=((LIGNE()/2-2.5)*16+16));'ville 1'!A155;"")

Ok?


--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Guy72" a écrit dans le message de news:

Bonjour à tous,
En feuille Récap, j'ai :
En D5 j'ai (Guy).
En F5 j'ai un temps (02 :50.113).
En G5 j'ai un texte (Course 3).
En E5 je voudrais le nom qui est en (A155 de la feuille "Ville 1 " )
:





=SI(ET(D5="Guy";G5="Course 1 à Course 16);"Ville 1!A155;"")).
En E7: "Course 17 à Course 32".
En E9: "Course 33 à Course 48".
En E11: "Course 17 à Course 64".
Etc........jusqu'à E21 et ........Course 128.
Mon problème est "Course N° à Course N°" dans la formule si j'ai un
seul



nom
de Course : ok, mais deux ?????
Cordialement
Guy




















Avatar
Jacky
Re..
Si le nom de la feuille "Ville 1" n'est pas le nom que tu utilises dans ton
fichier d'origine ,
modifie cette ligne de code.
constructeur = Sheets("ville 1").Cells(c.Row, 1)
De préférence prendre le nom Vba.
Pour ce faire, regarde dans la fenêtre "Vba project" le nom de ta feuille
qui est entre parenthèse(Ville 1) et prend le nom qui est situé devant: par
exemple Feuil2 (Ville 1), là, tu prends Feuil2
et tu remplaces la ligne de code par celle ci
constructeur = Feuil2.Cells(c.Row, 1)
Ainsi le changement de nom de la feuille Excel n'aura plus d'incidence sur
le code.

Cette fonction perso, tu la retrouves avec les autres fonctions dans la
feuille de calcul avec comme nom "constructeur"

Bon courage
JJ

"Jacky" a écrit dans le message de
news:%23yh6L$
Re...
Il faut aussi copier la Fonction perso. dans un module.

1- Dans le fichier que j'ai envoyé.
Alt+F11>>>Fenêtre à gauche "Vba Project">>>clique sur module 1
Copie le code qui s'affiche dans la fenêtre de droite.
Ferme ce fichier.

2- Ouvre ton fichier
Alt+F11>>>insertion/module >> coller.
et zou, la formule(devrait) fonctionne.

JJ

"Guy72" a écrit dans le message de
news:
Bonsoir Jacky,
Je suis embêté, quand je met le tout dans mon dossier original, çà ne
fonctionne pas, cela me met
#VALEUR!
que faut il que je change ?
Cordialement
Guy

"Jacky" a écrit dans le message de news:
%
Bonjour,
Avec une petite fonction ..peut-être
http://cjoint.com/?jrlwQMj3sV
Salutations
JJ

"Guy72" a écrit dans le message de
news:
Bonjour,
J'ai peur de ne pas avoir bien expliqué mon énoncée tout simplement
trompé.

Je t'envoie un fichier brouillon, tu pourras mieux voir.
http://cjoint.com/?jrj2UxHsXO

--
Cordialement
Guy
"Pierre Fauconnier" a écrit dans le
message de news:
Bonjour

Si j'ai bien compris ...!!
Tu veux tester que
D5 = "Guy" et G5 = "course 1" ou "course 2" ou "course 3" ou ... ou
"course 16"
D7 = "Guy" et G7 = "course 17" ou "course 18" ou ... ou "course 32"
...
...

1. Tester que D5 = "Guy" ne pose pas de problème

2. Extraire le numéro de la course de G... J'ai considéré que tu
écrivais


"course " (avec un espace) suivi du numéro.
Dès lors, on utiilse "=substitue(g5;"course ";"")*1 pour obtenir le
numéro


de course

3. On va devoir tester que le numéro de la course est compris entre
1 et 16 pour la ligne 5
17 et 32 pour la ligne 7
33 et 48 pour la ligne 9
...
113 et 128 pour la ligne 19

Il faut donc trouver une fonction utilisant le numéro de ligne de
la





cellule et donnant les couples suivants
(5,1), (7,17), (9,33),(11,49),...,(19,113)
Cette fonction est f(x) = ((x/2)-2.5)*16+1
En effet, si, dans une cellule de la ligne 5, tu saisis
=((LIGNE()/2-2.5)*16+1), tu obtiens 1
et en copiant cette formule en lignes 7, 9, 11, ..., tu obtiendras
17,




33,
49, ...
Voila pour la borne inférieure du numéro de course.
Pour la borne supérieure, il suffit d'ajouter 15 à la formule
précédente
=((LIGNE()/2-2.5)*16+1)+15, soit =((LIGNE()/2-2.5)*16+16)

La formule complète sera donc
=SI(ET(D5="Guy";SUBSTITUE(H5;"course
";"")*1>=((LIGNE()/2-2.5)*16+1);SUBSTITUE(H5;"course
";"")*1<=((LIGNE()/2-2.5)*16+16));'ville 1'!A155;"")

Ok?


--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Guy72" a écrit dans le message de news:

Bonjour à tous,
En feuille Récap, j'ai :
En D5 j'ai (Guy).
En F5 j'ai un temps (02 :50.113).
En G5 j'ai un texte (Course 3).
En E5 je voudrais le nom qui est en (A155 de la feuille "Ville 1
" )






:
=SI(ET(D5="Guy";G5="Course 1 à Course 16);"Ville 1!A155;"")).
En E7: "Course 17 à Course 32".
En E9: "Course 33 à Course 48".
En E11: "Course 17 à Course 64".
Etc........jusqu'à E21 et ........Course 128.
Mon problème est "Course N° à Course N°" dans la formule si j'ai
un






seul
nom
de Course : ok, mais deux ?????
Cordialement
Guy
























Avatar
Guy72
Re,
çà MARCHE !!!
Je suis d'accord pour le module, je l'avait fait.
C'est le nom (course)que je n'avais pas mis.
Par contre tu utilise le mot constructeur dans ta formule, ou tu prends le
nom ?
Je vais essayer de supprimer les espaces dans le nom des feuilles, mais j'ai
d'autres formules, il faut que je fasse gaffe.
Cordialement
Guy

"Jacky" a écrit dans le message de news:
%23yh6L$
Re...
Il faut aussi copier la Fonction perso. dans un module.

1- Dans le fichier que j'ai envoyé.
Alt+F11>>>Fenêtre à gauche "Vba Project">>>clique sur module 1
Copie le code qui s'affiche dans la fenêtre de droite.
Ferme ce fichier.

2- Ouvre ton fichier
Alt+F11>>>insertion/module >> coller.
et zou, la formule(devrait) fonctionne.

JJ

"Guy72" a écrit dans le message de
news:
Bonsoir Jacky,
Je suis embêté, quand je met le tout dans mon dossier original, çà ne
fonctionne pas, cela me met
#VALEUR!
que faut il que je change ?
Cordialement
Guy

"Jacky" a écrit dans le message de news:
%
Bonjour,
Avec une petite fonction ..peut-être
http://cjoint.com/?jrlwQMj3sV
Salutations
JJ

"Guy72" a écrit dans le message de
news:
Bonjour,
J'ai peur de ne pas avoir bien expliqué mon énoncée tout simplement
trompé.

Je t'envoie un fichier brouillon, tu pourras mieux voir.
http://cjoint.com/?jrj2UxHsXO

--
Cordialement
Guy
"Pierre Fauconnier" a écrit dans le
message de news:
Bonjour

Si j'ai bien compris ...!!
Tu veux tester que
D5 = "Guy" et G5 = "course 1" ou "course 2" ou "course 3" ou ... ou
"course 16"
D7 = "Guy" et G7 = "course 17" ou "course 18" ou ... ou "course 32"
...
...

1. Tester que D5 = "Guy" ne pose pas de problème

2. Extraire le numéro de la course de G... J'ai considéré que tu
écrivais


"course " (avec un espace) suivi du numéro.
Dès lors, on utiilse "=substitue(g5;"course ";"")*1 pour obtenir le
numéro


de course

3. On va devoir tester que le numéro de la course est compris entre
1 et 16 pour la ligne 5
17 et 32 pour la ligne 7
33 et 48 pour la ligne 9
...
113 et 128 pour la ligne 19

Il faut donc trouver une fonction utilisant le numéro de ligne de la
cellule et donnant les couples suivants
(5,1), (7,17), (9,33),(11,49),...,(19,113)
Cette fonction est f(x) = ((x/2)-2.5)*16+1
En effet, si, dans une cellule de la ligne 5, tu saisis
=((LIGNE()/2-2.5)*16+1), tu obtiens 1
et en copiant cette formule en lignes 7, 9, 11, ..., tu obtiendras
17,




33,
49, ...
Voila pour la borne inférieure du numéro de course.
Pour la borne supérieure, il suffit d'ajouter 15 à la formule
précédente
=((LIGNE()/2-2.5)*16+1)+15, soit =((LIGNE()/2-2.5)*16+16)

La formule complète sera donc
=SI(ET(D5="Guy";SUBSTITUE(H5;"course
";"")*1>=((LIGNE()/2-2.5)*16+1);SUBSTITUE(H5;"course
";"")*1<=((LIGNE()/2-2.5)*16+16));'ville 1'!A155;"")

Ok?


--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Guy72" a écrit dans le message de news:

Bonjour à tous,
En feuille Récap, j'ai :
En D5 j'ai (Guy).
En F5 j'ai un temps (02 :50.113).
En G5 j'ai un texte (Course 3).
En E5 je voudrais le nom qui est en (A155 de la feuille "Ville 1
" )
:





=SI(ET(D5="Guy";G5="Course 1 à Course 16);"Ville 1!A155;"")).
En E7: "Course 17 à Course 32".
En E9: "Course 33 à Course 48".
En E11: "Course 17 à Course 64".
Etc........jusqu'à E21 et ........Course 128.
Mon problème est "Course N° à Course N°" dans la formule si j'ai un
seul



nom
de Course : ok, mais deux ?????
Cordialement
Guy
























Avatar
Jacky
Re....
çà MARCHE !!!
Content pour toi.


Par contre tu utilise le mot constructeur dans ta formule, ou tu prends le
nom ?
C'est le nom de la fonction. (Function ***constructeur***(course))

Ce nom est un nom quelconque, j'aurais pu prendre "toto" l'essentiel est
qu'il ne fasse pas partie des mots réservés à Excel, ne pas utiliser le même
mot dans une variable ou argument et de changer le nom dans la formule s'il
est changé dans la fonction. J'ai choisi "constructeur" parce qu'il était
parlant pour ce que la fonction devait faire, et aussi/surtout pour toi,
histoire de se rappeler plus facilement dans quelque temps quand tu voudras
modifier ou ajouter un code dans ce fichier.

Bonne soirée
JJ

"Guy72" a écrit dans le message de
news:
Re,
çà MARCHE !!!
Je suis d'accord pour le module, je l'avait fait.
C'est le nom (course)que je n'avais pas mis.
Par contre tu utilise le mot constructeur dans ta formule, ou tu prends le
nom ?
Je vais essayer de supprimer les espaces dans le nom des feuilles, mais
j'ai

d'autres formules, il faut que je fasse gaffe.
Cordialement
Guy

"Jacky" a écrit dans le message de news:
%23yh6L$
Re...
Il faut aussi copier la Fonction perso. dans un module.

1- Dans le fichier que j'ai envoyé.
Alt+F11>>>Fenêtre à gauche "Vba Project">>>clique sur module 1
Copie le code qui s'affiche dans la fenêtre de droite.
Ferme ce fichier.

2- Ouvre ton fichier
Alt+F11>>>insertion/module >> coller.
et zou, la formule(devrait) fonctionne.

JJ

"Guy72" a écrit dans le message de
news:
Bonsoir Jacky,
Je suis embêté, quand je met le tout dans mon dossier original, çà ne
fonctionne pas, cela me met
#VALEUR!
que faut il que je change ?
Cordialement
Guy

"Jacky" a écrit dans le message de news:
%
Bonjour,
Avec une petite fonction ..peut-être
http://cjoint.com/?jrlwQMj3sV
Salutations
JJ

"Guy72" a écrit dans le message de
news:
Bonjour,
J'ai peur de ne pas avoir bien expliqué mon énoncée tout simplement
trompé.

Je t'envoie un fichier brouillon, tu pourras mieux voir.
http://cjoint.com/?jrj2UxHsXO

--
Cordialement
Guy
"Pierre Fauconnier" a écrit dans
le





message de news:
Bonjour

Si j'ai bien compris ...!!
Tu veux tester que
D5 = "Guy" et G5 = "course 1" ou "course 2" ou "course 3" ou ...
ou






"course 16"
D7 = "Guy" et G7 = "course 17" ou "course 18" ou ... ou "course
32"






...
...

1. Tester que D5 = "Guy" ne pose pas de problème

2. Extraire le numéro de la course de G... J'ai considéré que tu
écrivais


"course " (avec un espace) suivi du numéro.
Dès lors, on utiilse "=substitue(g5;"course ";"")*1 pour obtenir
le






numéro
de course

3. On va devoir tester que le numéro de la course est compris
entre






1 et 16 pour la ligne 5
17 et 32 pour la ligne 7
33 et 48 pour la ligne 9
...
113 et 128 pour la ligne 19

Il faut donc trouver une fonction utilisant le numéro de ligne de
la






cellule et donnant les couples suivants
(5,1), (7,17), (9,33),(11,49),...,(19,113)
Cette fonction est f(x) = ((x/2)-2.5)*16+1
En effet, si, dans une cellule de la ligne 5, tu saisis
=((LIGNE()/2-2.5)*16+1), tu obtiens 1
et en copiant cette formule en lignes 7, 9, 11, ..., tu obtiendras
17,




33,
49, ...
Voila pour la borne inférieure du numéro de course.
Pour la borne supérieure, il suffit d'ajouter 15 à la formule
précédente
=((LIGNE()/2-2.5)*16+1)+15, soit =((LIGNE()/2-2.5)*16+16)

La formule complète sera donc
=SI(ET(D5="Guy";SUBSTITUE(H5;"course
";"")*1>=((LIGNE()/2-2.5)*16+1);SUBSTITUE(H5;"course
";"")*1<=((LIGNE()/2-2.5)*16+16));'ville 1'!A155;"")

Ok?


--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin
(






proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Guy72" a écrit dans le message de news:

Bonjour à tous,
En feuille Récap, j'ai :
En D5 j'ai (Guy).
En F5 j'ai un temps (02 :50.113).
En G5 j'ai un texte (Course 3).
En E5 je voudrais le nom qui est en (A155 de la feuille "Ville 1
" )
:





=SI(ET(D5="Guy";G5="Course 1 à Course 16);"Ville 1!A155;"")).
En E7: "Course 17 à Course 32".
En E9: "Course 33 à Course 48".
En E11: "Course 17 à Course 64".
Etc........jusqu'à E21 et ........Course 128.
Mon problème est "Course N° à Course N°" dans la formule si j'ai
un







seul
nom
de Course : ok, mais deux ?????
Cordialement
Guy




























1 2