OVH Cloud OVH Cloud

2 questions sur liste déroulante

8 réponses
Avatar
Denys
Bonjour =E0 tous,

J'aurais 2 petites questions =E0 vous soumettre:

1) Sur une feuille Excel transform=E9e en formulaire, les=20
usagers doivent choisir le nom d'un produit dans une liste=20
d=E9roulante. Comme il y a pr=E8s de 11,000 produits,=20
j'aimerais bien qu'apparaisse le nom,lorsqu'ils =E9crivent=20
la premi=E8re lettre du produit:

Par exemple, si le nom recherch=E9 est Fidelit=E9 etc.....
d=E8s que l'on tape la lettre F dans la liste, qu'apparaisse=20
les noms de produits commen=E7ant par F. Cela faciliterait=20
beaucoup leur travail.

2) =C0 un autre endroit, sur le m=EAme formulaire, les noms de=20
compagnies apparaissent aussi dans une liste d=E9roulante.=20
Sauf que l'on doit aussi =E9crire leur abbr=E9viation et leur=20
no de code dans 2 cellules =E0 c=F4t=E9. Est-il possible qu'en=20
choisissant un nom de compagnie, l'abbr=E9viation apparaisse=20
tout comme le nom de produit? Ma liste comporte 3=20
colonnes. Si l'on choisit A1, alors l'abb... est en B1 et=20
le no de code est en C1.

J'ai essay=E9 avec la concatenation, mais le r=E9sultat est=20
affreux.....

Merci beaucoup pour votre temps...

Denys

8 réponses

Avatar
Denys
Allo,

Oubliez question 2, Misange m'avait déjà parlé d'un
exemple d'Alain sur Excellabo. Je viens de le trouver.
Cependant,la question 1 reste encore sans réponse.

Merci

Denys


-----Original Message-----
Bonjour à tous,

J'aurais 2 petites questions à vous soumettre:

1) Sur une feuille Excel transformée en formulaire, les
usagers doivent choisir le nom d'un produit dans une
liste

déroulante. Comme il y a près de 11,000 produits,
j'aimerais bien qu'apparaisse le nom,lorsqu'ils écrivent
la première lettre du produit:

Par exemple, si le nom recherché est Fidelité etc.....
dès que l'on tape la lettre F dans la liste,
qu'apparaisse

les noms de produits commençant par F. Cela faciliterait
beaucoup leur travail.

2) À un autre endroit, sur le même formulaire, les noms
de

compagnies apparaissent aussi dans une liste déroulante.
Sauf que l'on doit aussi écrire leur abbréviation et leur
no de code dans 2 cellules à côté. Est-il possible qu'en
choisissant un nom de compagnie, l'abbréviation
apparaisse

tout comme le nom de produit? Ma liste comporte 3
colonnes. Si l'on choisit A1, alors l'abb... est en B1 et
le no de code est en C1.

J'ai essayé avec la concatenation, mais le résultat est
affreux.....

Merci beaucoup pour votre temps...

Denys
.



Avatar
MAZAS Bernard
Salut Denys

"Denys" a écrit dans le message de
news:05bb01c397de$7f2438c0$
Bonjour à tous,

J'aurais 2 petites questions à vous soumettre:

1) Sur une feuille Excel transformée en formulaire, les
usagers doivent choisir le nom d'un produit dans une liste
déroulante. Comme il y a près de 11,000 produits,
j'aimerais bien qu'apparaisse le nom,lorsqu'ils écrivent
la première lettre du produit:


Soit $A$1 la cellule contenant l'en tête de ta liste (qui doit donc démarrer
en A2).
Soit B2:Bxx la plage de cellules sur laquelle tu veux placer une liste
déroulante.

1) Tu te places dans une cellule quelconque de la feuille (par exemple D5),
puis Insertion nom Définir, avec les réglages suivants :

Nom dans le classeur : liste_partielle
Réfère à :
ÞCALER(Feuil1!$A$1;EQUIV(VRAI;GAUCHE(Liste;NBCAR(Feuil1!D5))þuil1!D5;0);
;SOMMEPROD(1*(GAUCHE(Liste;NBCAR(Feuil1!D5))þuil1!D5)))

avec les références Feuil1! à adapter en fonction du nom de la feuille.

Attention : la formule ci-dessus fait plusieurs fois référence à la cellule
active (ici D5). Si tu es positionné en GW456 avant de faire Insertion Nom
définir, il faut taper GW456 à la place de D5 dans la formule.


2) Tu sélectionnes B2:Bxx, puis Données validation
Onglet Options
Autoriser Liste
Source =liste_partielle
Onglet Alerte d'erreur (ne pas oublier ce deux réglages !)
Style Information
Décocher la case "Quand des données valides sont tapées"


3) Tu dois trier ta liste par ordre des codes.

4) Tu essayes en tapant un début de code quelque part dans B2:Bxx, puis tu
cliques sur la flèche (raccourci clavier ALT FLECHE BAS) : seuls
apparaissent les codes commençant par les caractères tapés.


2) À un autre endroit, sur le même formulaire, les noms de
compagnies apparaissent aussi dans une liste déroulante.
Sauf que l'on doit aussi écrire leur abbréviation et leur
no de code dans 2 cellules à côté. Est-il possible qu'en
choisissant un nom de compagnie, l'abbréviation apparaisse
tout comme le nom de produit? Ma liste comporte 3
colonnes. Si l'on choisit A1, alors l'abb... est en B1 et
le no de code est en C1.


Tu dois pouvoir faire ça en utilisant INDEX + EQUIV :

Dans la colonne Abréviation :

=INDEX(abréviation;EQUIV(nom_compagnie;liste_compagnies;0))

et dans la colonne Code :

=INDEX(liste_codes;EQUIV(nom_compagnie;liste_compagnies;0))

Si ça suffit pas, repose ta question.

Bernard

Avatar
Denys
Bonjour Bernard,

Ouf!!! Toute une réponse!!! Cela va me demander un peu de
temps afin de digérer tout cela.

Merci beaucoup... Si je fais un boubou, je reviendrai..

Bonne journée

Denys



-----Original Message-----
Salut Denys

"Denys" a écrit
dans le message de

news:05bb01c397de$7f2438c0$
Bonjour à tous,

J'aurais 2 petites questions à vous soumettre:

1) Sur une feuille Excel transformée en formulaire, les
usagers doivent choisir le nom d'un produit dans une
liste


déroulante. Comme il y a près de 11,000 produits,
j'aimerais bien qu'apparaisse le nom,lorsqu'ils écrivent
la première lettre du produit:


Soit $A$1 la cellule contenant l'en tête de ta liste (qui
doit donc démarrer

en A2).
Soit B2:Bxx la plage de cellules sur laquelle tu veux
placer une liste

déroulante.

1) Tu te places dans une cellule quelconque de la feuille
(par exemple D5),

puis Insertion nom Définir, avec les réglages suivants :

Nom dans le classeur : liste_partielle
Réfère à :
ÞCALER(Feuil1!$A$1;EQUIV(VRAI;GAUCHE(Liste;NBCAR(Feuil1!
D5))þuil1!D5;0);

;SOMMEPROD(1*(GAUCHE(Liste;NBCAR(Feuil1!D5))þuil1!D5)))

avec les références Feuil1! à adapter en fonction du nom
de la feuille.


Attention : la formule ci-dessus fait plusieurs fois
référence à la cellule

active (ici D5). Si tu es positionné en GW456 avant de
faire Insertion Nom

définir, il faut taper GW456 à la place de D5 dans la
formule.



2) Tu sélectionnes B2:Bxx, puis Données validation
Onglet Options
Autoriser Liste
Source =liste_partielle
Onglet Alerte d'erreur (ne pas oublier ce deux réglages !)
Style Information
Décocher la case "Quand des données valides sont
tapées"



3) Tu dois trier ta liste par ordre des codes.

4) Tu essayes en tapant un début de code quelque part
dans B2:Bxx, puis tu

cliques sur la flèche (raccourci clavier ALT FLECHE
BAS) : seuls

apparaissent les codes commençant par les caractères
tapés.



2) À un autre endroit, sur le même formulaire, les noms
de


compagnies apparaissent aussi dans une liste déroulante.
Sauf que l'on doit aussi écrire leur abbréviation et leur
no de code dans 2 cellules à côté. Est-il possible qu'en
choisissant un nom de compagnie, l'abbréviation
apparaisse


tout comme le nom de produit? Ma liste comporte 3
colonnes. Si l'on choisit A1, alors l'abb... est en B1 et
le no de code est en C1.


Tu dois pouvoir faire ça en utilisant INDEX + EQUIV :

Dans la colonne Abréviation :

=INDEX(abréviation;EQUIV
(nom_compagnie;liste_compagnies;0))


et dans la colonne Code :

=INDEX(liste_codes;EQUIV
(nom_compagnie;liste_compagnies;0))


Si ça suffit pas, repose ta question.

Bernard





.




Avatar
Denys
Rebonjour Bernard,

Serait-il possible d'avoir la formule en anglais' Voici ma
traduction, mais ça ne fonctionne pas:

=offset(sheet2!$A$1;exact(true;left(list;countif(sheet2!
d5))=sheet2!d5;0);sumproduct(1*left(list;countif(sheet2!
d5))=sheet2!d5)))

L'originale étant:

ÞCALER(Feuil1!$A$1;EQUIV(VRAI;GAUCHE(Liste;NBCAR(Feuil1!
D5))þuil1!D5;0);

;SOMMEPROD(1*(GAUCHE(Liste;NBCAR(Feuil1!D5))þuil1!D5)))




-----Original Message-----
Salut Denys

"Denys" a écrit
dans le message de

news:05bb01c397de$7f2438c0$
Bonjour à tous,

J'aurais 2 petites questions à vous soumettre:

1) Sur une feuille Excel transformée en formulaire, les
usagers doivent choisir le nom d'un produit dans une
liste


déroulante. Comme il y a près de 11,000 produits,
j'aimerais bien qu'apparaisse le nom,lorsqu'ils écrivent
la première lettre du produit:


Soit $A$1 la cellule contenant l'en tête de ta liste (qui
doit donc démarrer

en A2).
Soit B2:Bxx la plage de cellules sur laquelle tu veux
placer une liste

déroulante.

1) Tu te places dans une cellule quelconque de la feuille
(par exemple D5),

puis Insertion nom Définir, avec les réglages suivants :

Nom dans le classeur : liste_partielle
Réfère à :
ÞCALER(Feuil1!$A$1;EQUIV(VRAI;GAUCHE(Liste;NBCAR(Feuil1!
D5))þuil1!D5;0);

;SOMMEPROD(1*(GAUCHE(Liste;NBCAR(Feuil1!D5))þuil1!D5)))

avec les références Feuil1! à adapter en fonction du nom
de la feuille.


Attention : la formule ci-dessus fait plusieurs fois
référence à la cellule

active (ici D5). Si tu es positionné en GW456 avant de
faire Insertion Nom

définir, il faut taper GW456 à la place de D5 dans la
formule.



2) Tu sélectionnes B2:Bxx, puis Données validation
Onglet Options
Autoriser Liste
Source =liste_partielle
Onglet Alerte d'erreur (ne pas oublier ce deux réglages !)
Style Information
Décocher la case "Quand des données valides sont
tapées"



3) Tu dois trier ta liste par ordre des codes.

4) Tu essayes en tapant un début de code quelque part
dans B2:Bxx, puis tu

cliques sur la flèche (raccourci clavier ALT FLECHE
BAS) : seuls

apparaissent les codes commençant par les caractères
tapés.



2) À un autre endroit, sur le même formulaire, les noms
de


compagnies apparaissent aussi dans une liste déroulante.
Sauf que l'on doit aussi écrire leur abbréviation et leur
no de code dans 2 cellules à côté. Est-il possible qu'en
choisissant un nom de compagnie, l'abbréviation
apparaisse


tout comme le nom de produit? Ma liste comporte 3
colonnes. Si l'on choisit A1, alors l'abb... est en B1 et
le no de code est en C1.


Tu dois pouvoir faire ça en utilisant INDEX + EQUIV :

Dans la colonne Abréviation :

=INDEX(abréviation;EQUIV
(nom_compagnie;liste_compagnies;0))


et dans la colonne Code :

=INDEX(liste_codes;EQUIV
(nom_compagnie;liste_compagnies;0))


Si ça suffit pas, repose ta question.

Bernard





.




Avatar
Denys
Ooooooppppssss!!!

J'ai oublié de dire merci!!!!!!Cliqué trop vite!!!!!

Bonne journée

Denys


-----Original Message-----
Salut Denys

"Denys" a écrit
dans le message de

news:05bb01c397de$7f2438c0$
Bonjour à tous,

J'aurais 2 petites questions à vous soumettre:

1) Sur une feuille Excel transformée en formulaire, les
usagers doivent choisir le nom d'un produit dans une
liste


déroulante. Comme il y a près de 11,000 produits,
j'aimerais bien qu'apparaisse le nom,lorsqu'ils écrivent
la première lettre du produit:


Soit $A$1 la cellule contenant l'en tête de ta liste (qui
doit donc démarrer

en A2).
Soit B2:Bxx la plage de cellules sur laquelle tu veux
placer une liste

déroulante.

1) Tu te places dans une cellule quelconque de la feuille
(par exemple D5),

puis Insertion nom Définir, avec les réglages suivants :

Nom dans le classeur : liste_partielle
Réfère à :
ÞCALER(Feuil1!$A$1;EQUIV(VRAI;GAUCHE(Liste;NBCAR(Feuil1!
D5))þuil1!D5;0);

;SOMMEPROD(1*(GAUCHE(Liste;NBCAR(Feuil1!D5))þuil1!D5)))

avec les références Feuil1! à adapter en fonction du nom
de la feuille.


Attention : la formule ci-dessus fait plusieurs fois
référence à la cellule

active (ici D5). Si tu es positionné en GW456 avant de
faire Insertion Nom

définir, il faut taper GW456 à la place de D5 dans la
formule.



2) Tu sélectionnes B2:Bxx, puis Données validation
Onglet Options
Autoriser Liste
Source =liste_partielle
Onglet Alerte d'erreur (ne pas oublier ce deux réglages !)
Style Information
Décocher la case "Quand des données valides sont
tapées"



3) Tu dois trier ta liste par ordre des codes.

4) Tu essayes en tapant un début de code quelque part
dans B2:Bxx, puis tu

cliques sur la flèche (raccourci clavier ALT FLECHE
BAS) : seuls

apparaissent les codes commençant par les caractères
tapés.



2) À un autre endroit, sur le même formulaire, les noms
de


compagnies apparaissent aussi dans une liste déroulante.
Sauf que l'on doit aussi écrire leur abbréviation et leur
no de code dans 2 cellules à côté. Est-il possible qu'en
choisissant un nom de compagnie, l'abbréviation
apparaisse


tout comme le nom de produit? Ma liste comporte 3
colonnes. Si l'on choisit A1, alors l'abb... est en B1 et
le no de code est en C1.


Tu dois pouvoir faire ça en utilisant INDEX + EQUIV :

Dans la colonne Abréviation :

=INDEX(abréviation;EQUIV
(nom_compagnie;liste_compagnies;0))


et dans la colonne Code :

=INDEX(liste_codes;EQUIV
(nom_compagnie;liste_compagnies;0))


Si ça suffit pas, repose ta question.

Bernard





.




Avatar
MAZAS Bernard
"Denys" a écrit dans le message de
news:00b401c39801$e1a593e0$

Rebonjour Bernard,

Serait-il possible d'avoir la formule en anglais' Voici ma
traduction, mais ça ne fonctionne pas:

=offset(sheet2!$A$1;exact(true;left(list;countif(sheet2!
d5))=sheet2!d5;0);sumproduct(1*left(list;countif(sheet2!
d5))=sheet2!d5)))


essaie ça :

=offset(sheet2!$A$1;match(true;left(list;len(sheet2!
d5))=sheet2!d5;0);sumproduct(1*left(list;len(sheet2!
d5))=sheet2!d5)))


Au fait tu as un classeur pour traduire les fonctions :

http://disciplus.simplex.free.fr/classeursxl/av-traducfonctions.zip


Bernard

Avatar
Denys
Allo Bernard,

Merci infiniment pour ton temps...

Bonne journée

Denys
-----Original Message-----

"Denys" a écrit
dans le message de


news:00b401c39801$e1a593e0$
Rebonjour Bernard,

Serait-il possible d'avoir la formule en anglais' Voici
ma


traduction, mais ça ne fonctionne pas:

=offset(sheet2!$A$1;exact(true;left(list;countif(sheet2!
d5))=sheet2!d5;0);sumproduct(1*left(list;countif(sheet2!
d5))=sheet2!d5)))


essaie ça :

=offset(sheet2!$A$1;match(true;left(list;len(sheet2!
d5))=sheet2!d5;0);sumproduct(1*left(list;len(sheet2!
d5))=sheet2!d5)))


Au fait tu as un classeur pour traduire les fonctions :

http://disciplus.simplex.free.fr/classeursxl/av-
traducfonctions.zip



Bernard


.




Avatar
Daniel
Bonsoir MAZAS Bernard
Est t'il possible de me faire parvenir un fichier avec cette macro
je voudrait l'appliquer ( ou je peut t'envoyer mon fichier )

Merci


"MAZAS Bernard" a écrit dans le message de
news:%

"Denys" a écrit dans le message de
news:00b401c39801$e1a593e0$

Rebonjour Bernard,

Serait-il possible d'avoir la formule en anglais' Voici ma
traduction, mais ça ne fonctionne pas:

=offset(sheet2!$A$1;exact(true;left(list;countif(sheet2!
d5))=sheet2!d5;0);sumproduct(1*left(list;countif(sheet2!
d5))=sheet2!d5)))


essaie ça :

=offset(sheet2!$A$1;match(true;left(list;len(sheet2!
d5))=sheet2!d5;0);sumproduct(1*left(list;len(sheet2!
d5))=sheet2!d5)))


Au fait tu as un classeur pour traduire les fonctions :

http://disciplus.simplex.free.fr/classeursxl/av-traducfonctions.zip


Bernard