Question difficile sur fonctionnement liste déroulante
Le
michir

Bonjour, je vais essayer d'être clair
Soit une liste de Noms dans une feuille "M.A.J_Donnees" extensible à 300 =
noms , mais ne comportant actuellement que 190 noms saisis
Je souhaite exploiter cette liste tenue à jour dans d'autres feuilles. J'=
ai donc utilisé une formule nommée pour définir le nom:
Soit donc le nom de ma liste "Liste_Noms" et la formule
=DECALER(M.A.J_Donnees!$B$8;;;NBVAL(M.A.J_Donnees!$B:$B)-6;)
Ma question: je souhaiterais que la liste déroulante affiche ma liste au =
milieu des noms, ou bien au début de la liste.
Actuellement elle affiche une fenêtre vierge et je suis systématiquemen=
t obligé d'utiliser l'ascenseur pour retrouve mes noms.
J'ai été un peu long, mais je désirais être clair
Merci à tous
Michel
Soit une liste de Noms dans une feuille "M.A.J_Donnees" extensible à 300 =
noms , mais ne comportant actuellement que 190 noms saisis
Je souhaite exploiter cette liste tenue à jour dans d'autres feuilles. J'=
ai donc utilisé une formule nommée pour définir le nom:
Soit donc le nom de ma liste "Liste_Noms" et la formule
=DECALER(M.A.J_Donnees!$B$8;;;NBVAL(M.A.J_Donnees!$B:$B)-6;)
Ma question: je souhaiterais que la liste déroulante affiche ma liste au =
milieu des noms, ou bien au début de la liste.
Actuellement elle affiche une fenêtre vierge et je suis systématiquemen=
t obligé d'utiliser l'ascenseur pour retrouve mes noms.
J'ai été un peu long, mais je désirais être clair
Merci à tous
Michel
Si ta combobox est dans un UserForm,
Private Sub UserForm_Initialize()
ComboBox1.ListIndex = 95 '(190/2) à adapter
End Sub
Bon dimanche
Michel
"michir" news:
Bonjour, je vais essayer d'être clair
Soit une liste de Noms dans une feuille "M.A.J_Donnees" extensible à 300
noms , mais ne comportant actuellement que 190 noms saisis
Je souhaite exploiter cette liste tenue à jour dans d'autres feuilles. J'ai
donc utilisé une formule nommée pour définir le nom:
Soit donc le nom de ma liste "Liste_Noms" et la formule
ÞCALER(M.A.J_Donnees!$B$8;;;NBVAL(M.A.J_Donnees!$B:$B)-6;)
Ma question: je souhaiterais que la liste déroulante affiche ma liste au
milieu des noms, ou bien au début de la liste.
Actuellement elle affiche une fenêtre vierge et je suis systématiquement
obligé d'utiliser l'ascenseur pour retrouve mes noms.
J'ai été un peu long, mais je désirais être clair
Merci à tous
Michel
Ma réponse précédente, tu l'auras compris, concerne :
En ce qui concerne :
ComboBox1.ListIndex = 0
Bon dimanche
Michel
"michir" news:
Bonjour, je vais essayer d'être clair
Soit une liste de Noms dans une feuille "M.A.J_Donnees" extensible à 300
noms , mais ne comportant actuellement que 190 noms saisis
Je souhaite exploiter cette liste tenue à jour dans d'autres feuilles. J'ai
donc utilisé une formule nommée pour définir le nom:
Soit donc le nom de ma liste "Liste_Noms" et la formule
ÞCALER(M.A.J_Donnees!$B$8;;;NBVAL(M.A.J_Donnees!$B:$B)-6;)
Ma question: je souhaiterais que la liste déroulante affiche ma liste au
milieu des noms, ou bien au début de la liste.
Actuellement elle affiche une fenêtre vierge et je suis systématiquement
obligé d'utiliser l'ascenseur pour retrouve mes noms.
J'ai été un peu long, mais je désirais être clair
Merci à tous
Michel
Je n'utilise pas une combobox mais tout bêtement un dérouleur dans une cellule avec une validation de données
Michel
Tu ne peux pas gérer grand chose au niveau d'une liste déroulante.
Utilise plutôt une listbox ou une combobox.
Cordialement.
Daniel
Un exemple avec ta liste en Feuil1 (codename) et la saisie dans une
autre
tu pourrais faire apparaître un userform par doubleclioc dans la
cellule
laisser tes regles de validation (déroulant dans la cellule) et
refuser ainsi les données hors liste en cas de saisie directe ou via
validation.
Donner la possibilité à celui qui passe via la listbox du userform de
taper d'abord la premiere lettre
Dans VBE inserer uuserform dans le projet du classeur y mettre une
listbox et deux command button (caption mettre respectivement Valider
Annuler )
'''dans le code de la feuille de saisie
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Cancel = True
UserForm1.Show
End Sub
''dans le code du userform
Private Sub CommandButton1_Click()
ActiveCell = ListBox1
Unload Me
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
ListBox1.List = Range(Feuil1.[g8], Feuil1.[g65536].End(xlUp)).Value
End Sub
'LSteph
On Aug 28, 1:39 pm, michir
Question subsidiaire relative à la compréhension de la fonction "DECALE R"
J'utilise une formule nommée dans une liste déroulante dynamique
'ÞCALER(M.A.J_Donnees!$B$8:$B$400;;;NBVAL(M.A.J_Donnees!$B$8:$B$400)-12 )
Pourquoi suis-je obligé de rentrer -12 en dernier argument pour que ma li ste déroulante affiche les Noms qui sont en colonne B ?
Si je n'affiche pas cet argument, la liste déroulant affiche vide et je s uis obligé de remonter systématiquement avec l'ascenseur
Merci
Michel
Sans rentrer dans le détail...
Tu décris une plage à partir de laquelle tu effectues un décalage (?)
La fonction Decaler sert (entre autre) à nommer un champ dont la hauteur est
inconnue.
Par exemple, si tu mets un titre (supposons "TITRE") en ligne 1 de ta
colonne B :
Insertion/Nom/Définir : TITRE
Fait référence à :
ÞCALER(NomDeTaFeuille!$B$2;;;NBVAL(NomDeTaFeuille!$B:$B)-1)
Le -1 représente le nombre d'éléments de ta colonne que tu ne souhaites pas
inclure dans ta liste.
Si l'étiquette de ta colonne est en J10, tu écris la formule :
ÞCALER(NomDeTaFeuille!$J$11;;;NBVAL(NomDeTaFeuille!$J:$J)-1)
Puis dans Données/Validation/Options :
Autoriser : Liste
Source : =TITRE
Teste ces exemples et adapte-les à ton cas.
Michel
"michir" news:
Merci pour vos réponses notamment LSteph que je n'ai pas encore eu le temps
de tester.
Question subsidiaire relative à la compréhension de la fonction "DECALER"
J'utilise une formule nommée dans une liste déroulante dynamique
'ÞCALER(M.A.J_Donnees!$B$8:$B$400;;;NBVAL(M.A.J_Donnees!$B$8:$B$400)-12)
Pourquoi suis-je obligé de rentrer -12 en dernier argument pour que ma liste
déroulante affiche les Noms qui sont en colonne B ?
Si je n'affiche pas cet argument, la liste déroulant affiche vide et je suis
obligé de remonter systématiquement avec l'ascenseur
Merci
Michel
à mon avis il y a des bricoles qui traînent plus bas dans ta colonne B et
qui sont donc comptabilisées.
Michel
"michir"
Merci pour vos réponses notamment LSteph que je n'ai pas encore eu le temps
de tester.
Question subsidiaire relative à la compréhension de la fonction "DECALER"
J'utilise une formule nommée dans une liste déroulante dynamique
'ÞCALER(M.A.J_Donnees!$B$8:$B$400;;;NBVAL(M.A.J_Donnees!$B$8:$B$400)-12)
Pourquoi suis-je obligé de rentrer -12 en dernier argument pour que ma liste
déroulante affiche les Noms qui sont en colonne B ?
Si je n'affiche pas cet argument, la liste déroulant affiche vide et je suis
obligé de remonter systématiquement avec l'ascenseur
Merci
Michel
En effet j'avais des bricoles plus bas dans ma colonne B, et le le nombre q ue je dois déduire en dernier argument correspond bien au nombre de cellu les qui comportent des bricoles...trop fort
Merci donc
Michel
Michel
"michir"
Merci à vous deux Péhemme pour m'avoir permis de simplifier ma formule, et
michel ou sam pour m'avoir donné l'explication à cause de laquelle je butais
depuis un moment.
En effet j'avais des bricoles plus bas dans ma colonne B, et le le nombre
que je dois déduire en dernier argument correspond bien au nombre de
cellules qui comportent des bricoles...trop fort
Merci donc
Michel