Rechercher : dans
Par :

Excel validation de données : liste déroulant

Dernière réponse le 26 mai 2009 à 11:29:17 Fadjerx, le 13 nov 2007 à 12:02:34 
 Signaler ce message aux modérateurs

Bonjour les amis,

J'ai perdu énormement du temps avec un truc sous Excel qui logiquement doit pas être difficile à faire.

En fait, pour les valeurs d'une colonne de mon fichier je veux que l'utilisateur choisisse ses valeurs dans une liste déroulante uniquement. Je veux pas qu'il saisisse une valeur supplémentaire.

Donc j'ai utilisé le truc de : Data > Validation après avoir défini ma liste dans Insert > Name > Define

Etant donné que les valeurs de la liste définie peuvent changer, j'ai essayé de créer une liste dynamique en utilisant la formule : =OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1)
Mon Excel n'a jamais voulu accepter cette formule ! il me dit qu'il y'a une erreur sachant que mes valeurs sont bien sur la première colonne ... Je suis sous Excel 2002.

Ensuite j'ai cherché un moyen de faire cela en code VBA. C'est à dire définir une liste statique normal et ensuite à l'aide d'un petit macro lancé à l'ouverture du fichier, je mis à jour les valeurs de cette liste. J'arrive pas à le faire !

Un help sera vraiment le bienvenue :-(

Amicalement.

Configuration: Windows XP
Firefox 2.0.0.9

Meilleures réponses pour « Excel validation de données : liste déroulant » dans :
Liste déroulante avec saisie semi automatique pour EXCEL VoirC'est une procédure qui demande un investissement personnel et qui n'est pas nécessairement facile à comprendre et à réaliser dès la première fois. Afin de rendre cette astuce facile à utiliser, nous allons employer les plages et les formules...
Listes déroulantes simples avec Excel VoirDans votre tableau, vous souhaitez insérer un texte ou une valeur choisi dans une liste (déroulante). vous créez votre liste, ligne aprés ligne, sur votre feuille en cours ou sur une autre feuille du classeur en cours. vous la nommez : INSERTION...

1

Le Pingou, le 13 nov 2007 à 22:30:19

Bonsoir,
Il me semble qu'il y a du mélange.
Ou avez-vous entré la formule : =OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1) ......?
Ou se trouve la liste déroulante avec valeur fixe (Je veux pas qu'il saisisse une valeur supplémentaire) ...?
Que voulez-vous faire avec le code VBA ...?
et une copy du code ...... merci.

Salutations.
Jean-Pierre

Répondre à Le Pingou

2

gbinforme, le 13 nov 2007 à 22:52:29

Bonjour

Je suppose que tu as un Excel en anglais.

Ta formule "=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1) " il faut la nommer "maliste" par exemple.

Puis dans valider tu choisis liste et =maliste car tu ne peux pas utiliser une autre feuille sauf si elle est nommée.

toujours zen

Répondre à gbinforme

3

eriiic, le 13 nov 2007 à 23:25:10

Bonsoir,

Gérer ta liste en la sélectionnant (avec son titre de champ) avec le menu 'données / liste / créer une liste'.
L'avantage de 'créer liste' est qu'à chaque ajout, le nom étendra sa plage et tu n'as plus besoin de formule offset etc
La nommer et utiliser son nom dans la validation comme l'a expliqué gbinforme.

ericT

Répondre à eriiic

4

Fadjerx, le 14 nov 2007 à 10:04:17

Bonjour,

Pour répondre à Jean-Pierre, ma formule je la saisis dans le champ Refers to quand je fais Insert > Name > Define

Ma liste déroulante se trouve sur une autre feuille que la feuille où j'ai défini ma liste.

J'ai tjs le problème avec cette formule, mais je confirme ce qu'a dit Eric et GB sur le fait que j'en n'ai pas besoin.

Merci pour tous.

Amicalemnt.

Répondre à Fadjerx

5

Le Pingou, le 14 nov 2007 à 11:24:31

Bonjour,
J'aimerais comprendre pourquoi vous avez besoin de la formule "=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1) ".
Merci
Salutations.
Jean-Pierre

Répondre à Le Pingou

6

eriiic, le 14 nov 2007 à 11:27:24

Bonjour,

La validation par liste n'accepte pas une liste située sur une autre feuille. Pour passer cette limitation pas le choix, il faut utiliser un nom.
Et ta formule si tu la mets dans une cellule te retourne une erreur parce qu'elle retourne la reference d'une plage, si tu ajoutes LIGNES(...) devant (ROWS pour toi ?) tu récupères bien le nombre de lignes.

eric

Répondre à eriiic

7

Vaucluse, le 14 nov 2007 à 12:48:38

Bonjour tous
Pour uiliser la solution validation de données de la barre d'outil, au cas où la ligne soit sur une autre feuille, il suffit, mais peut être est ce trop bête, de faire un report de la liste sur une colonne hors champ de la feuille à traiter en la liant avc les cellules d'origine et de s'y référer dans la formulation de la validation
Cette option permet aussi de rajputer commentaires et avertissemnets, et je ne suis pas certain que ce ne soit pas cette solution la plus simple à appliquer.
BCRDLMNT Science sans conscience n'est que ruine de l'Ame

Répondre à Vaucluse

8

eriiic, le 14 nov 2007 à 16:06:59

Bonjour Vaucluse,

Si c'est pour dupliquer la liste (même si c'est par formule) pour qu'elle soit présente sur la feuille où a lieu la validation autant la déplacer et abandonner sa présence dans l'autre feuille non ?
Par contre si on désire regrouper toutes ses listes dans une même feuille pour des facilités de gestion, nommer une plage ne présente vraiment pas une grande difficulté. Et la plage de validation devient: =nom_de_la_liste
La plage définie par le nom s'étendra toute seule si on insère les nouveaux item ou bien si on la gère avec 'données / listes / créer une liste'
On peut aussi définir la plage directement dans le nom, comme dit dans le post 2 par gbinforme, avec la formule de Fadjerx qui est correcte.

eric

Répondre à eriiic

9

Vaucluse, le 14 nov 2007 à 16:42:19

Bonsoir Eric
Ouais, c'est une question de point de vue, je pense. Pour ma part, je préfére avoir la liste dans la feuille,il suffit que les formules couvrent la longueur du champ prévu dans l'entrée
ce qui n'empêche pas de regrouper les entrées dans la même feuille si on le souhaite.......
Chacun son truc, à ce niveau, je pense
BCRDLMNT

Science sans conscience n'est que ruine de l'Ame

Répondre à Vaucluse

10

 Anouaking, le 26 mai 2009 à 11:29:17

Ayant rencontré le même problème, j'ai trouvé une solution sur ce lien:

http://perso.fundp.ac.be/~jmlamber/xl/validation/doc/s06.htm­l

Il s'agit de créer un nom (Insertion -> Nom) sur la feuille où se situe la validation.
Attention car par contre le Nom lui pointe sur les données sur l'autre feuille!

Du coup si ta liste change tu n'a qu'un nom à modifier par feuille...

Cela marcherait également en pointant sur un autre fichier mais je n'ai pas testé...

Répondre à Anouaking
Collection CommentÇaMarche.net