Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Indirect dans menu déroulant

10 réponses
Avatar
Charly
Bonjour,
J'essaye de mettre une cellule en indirect dans la plage d'entrée d'une zone
de liste déroulante de la barre d'outils "formulaire".
Ma formule étant régulièrement refusée, je me demande si cette fonction est
acceptée dans un menu déroulant, ou si il s'agit d'une erreur de ma part.

La formule : =indirect (a1)

Le contenu de la la cellule a1 : $b$1:$b$6

Merci de votre aide et bonne journée à toutes et à tous.
Charly

10 réponses

Avatar
Pierre Fauconnier
Bonjour

Si A1 contient une référence valide à la création de la liste déroulante, tu
ne devrais pas avoir de problèmes.
Si A1 est vide à la création de la liste, tu auras un message d'erreur non
bloquant et la liste ne déroulera que lorsque A1 contiendra une référence
valide

Ok?


--
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

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

Bonjour,
J'essaye de mettre une cellule en indirect dans la plage d'entrée d'une
zone
de liste déroulante de la barre d'outils "formulaire".
Ma formule étant régulièrement refusée, je me demande si cette fonction
est
acceptée dans un menu déroulant, ou si il s'agit d'une erreur de ma part.

La formule : =indirect (a1)

Le contenu de la la cellule a1 : $b$1:$b$6

Merci de votre aide et bonne journée à toutes et à tous.
Charly


Avatar
Charly
Merci pour l'info.
Malheureusement j'obtiens toujours le même message "Référence non valide"
Y-a-til une subtilité que j'ignore lors de la saisie d'une formule INDIRECTE.
Merci de l'aide
Bonne journée
Charly

Bonjour

Si A1 contient une référence valide à la création de la liste déroulante, tu
ne devrais pas avoir de problèmes.
Si A1 est vide à la création de la liste, tu auras un message d'erreur non
bloquant et la liste ne déroulera que lorsque A1 contiendra une référence
valide

Ok?


--
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

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

Bonjour,
J'essaye de mettre une cellule en indirect dans la plage d'entrée d'une
zone
de liste déroulante de la barre d'outils "formulaire".
Ma formule étant régulièrement refusée, je me demande si cette fonction
est
acceptée dans un menu déroulant, ou si il s'agit d'une erreur de ma part.

La formule : =indirect (a1)

Le contenu de la la cellule a1 : $b$1:$b$6

Merci de votre aide et bonne journée à toutes et à tous.
Charly







Avatar
michdenis
Bonjour Charly,

Pourquoi ne pas utiliser une plage nommée : menu / insertion / nom / définir ?


Salutations!



"Charly" a écrit dans le message de news:
Bonjour,
J'essaye de mettre une cellule en indirect dans la plage d'entrée d'une zone
de liste déroulante de la barre d'outils "formulaire".
Ma formule étant régulièrement refusée, je me demande si cette fonction est
acceptée dans un menu déroulant, ou si il s'agit d'une erreur de ma part.

La formule : =indirect (a1)

Le contenu de la la cellule a1 : $b$1:$b$6

Merci de votre aide et bonne journée à toutes et à tous.
Charly
Avatar
Charly
Bonjour et merci.
Même en appliquant une plage nommée, la fonction indirecte est refusée dans
la plage d'entrée du format de contrôle.

Et dans le cas présent, je dois vraiment me référer à une plage de cellule
concatenée comme suit : "Feuil1!$a$1:$a$6"
Je ne peux pas me référer à une plage nommée car le nombre de cellules
change régulièrment (par effacement) et il peut arriver une fois que le
nombre de cellule arrive à zéro ce qui supprime la plage nommée.

Merci de votre aimable perséverérence.

Charly


Bonjour Charly,

Pourquoi ne pas utiliser une plage nommée : menu / insertion / nom / définir ?


Salutations!






Avatar
JB
Bonjour,

=Indirect() fonctionne avec les menus /Données/validation/Liste

http://www.excelabo.net/compteclic.php?nom=jb-validation

JB
Avatar
Charly
Merci.
Je pense que je me suis mal exprimé, il ne s'agit pas d'un menu déroulant
obtenu sous Données/validation/liste

mais bien d'un menu déroulant provenant de: Affichage/Barres
d'outils/Formulaires

Toutes vos suggestions fonctionnent bien entendu la "validation" mais pas
pour "Formulaires".

Merci de votre pugnacité !

Amicalement
Charly


Bonjour,

=Indirect() fonctionne avec les menus /Données/validation/Liste

http://www.excelabo.net/compteclic.php?nom=jb-validation

JB




Avatar
michdenis
Bonjour Charly,

Pourquoi vouloir à tout prix utiliser la fonction indirect()

Pour ton contrôle formulaire, il s'agit que tu inscrives le
nom de ta plage nommée. Et si tu veux que cette référence
soit dynamique, tu utilises la fonction "Decaler()" pour définir
la plage nommée.


Salutations!



"Charly" a écrit dans le message de news:
Bonjour et merci.
Même en appliquant une plage nommée, la fonction indirecte est refusée dans
la plage d'entrée du format de contrôle.

Et dans le cas présent, je dois vraiment me référer à une plage de cellule
concatenée comme suit : "Feuil1!$a$1:$a$6"
Je ne peux pas me référer à une plage nommée car le nombre de cellules
change régulièrment (par effacement) et il peut arriver une fois que le
nombre de cellule arrive à zéro ce qui supprime la plage nommée.

Merci de votre aimable perséverérence.

Charly


Bonjour Charly,

Pourquoi ne pas utiliser une plage nommée : menu / insertion / nom / définir ?


Salutations!






Avatar
Charly
Merci pour ton aide.
Si j'insite pour utiliser INDIRECT, c'est que j'ai le problème suivant:

La plage nommée, composée des cellules (par ex) a1:a8, est sujette à de
nombreux changement.
En effet des lignes sont supprimées et d'autres sont ensuites rajoutées. En
clair, il se peut qu'une fois la plage nommée soit vide. Etant vide, la plage
se supprime, et je ne peut plus retrouver la référence même avec DECALER.
Je suis donc obligé de générer par INDIRECT une cellule qui me donne la
plage effective mais qui indiquera "a1" si la totalité de la plage est vide.
J'ai pensé à cette solution pour conserver la plage nommée, mais il est
certain que tu auras une solution moins compliqués à me proposer.

Si t'as rien compris à mon explication, je m'en excuse d'avance.
Merci pour ton aide
Charly




Bonjour Charly,

Pourquoi vouloir à tout prix utiliser la fonction indirect()

Pour ton contrôle formulaire, il s'agit que tu inscrives le
nom de ta plage nommée. Et si tu veux que cette référence
soit dynamique, tu utilises la fonction "Decaler()" pour définir
la plage nommée.


Salutations!



"Charly" a écrit dans le message de news:
Bonjour et merci.
Même en appliquant une plage nommée, la fonction indirecte est refusée dans
la plage d'entrée du format de contrôle.

Et dans le cas présent, je dois vraiment me référer à une plage de cellule
concatenée comme suit : "Feuil1!$a$1:$a$6"
Je ne peux pas me référer à une plage nommée car le nombre de cellules
change régulièrment (par effacement) et il peut arriver une fois que le
nombre de cellule arrive à zéro ce qui supprime la plage nommée.

Merci de votre aimable perséverérence.

Charly


Bonjour Charly,

Pourquoi ne pas utiliser une plage nommée : menu / insertion / nom / définir ?


Salutations!











Avatar
michdenis
Bonjour Charly,

Si en première ligne de ta plage tu avais la donnée "A1"
tu pourrais utiliser ceci pour définir ta plage :
=SI(NBVAL(Feuil1!A:A)=1;"A1";DECALER(Feuil1!A2;;;NBVAL(Feuil1!A:A)-1))

Évidemment, si tu supprimes des lignes, la première ligne doit
toujours présente.


Salutations!



"Charly" a écrit dans le message de news:
Merci pour ton aide.
Si j'insite pour utiliser INDIRECT, c'est que j'ai le problème suivant:

La plage nommée, composée des cellules (par ex) a1:a8, est sujette à de
nombreux changement.
En effet des lignes sont supprimées et d'autres sont ensuites rajoutées. En
clair, il se peut qu'une fois la plage nommée soit vide. Etant vide, la plage
se supprime, et je ne peut plus retrouver la référence même avec DECALER.
Je suis donc obligé de générer par INDIRECT une cellule qui me donne la
plage effective mais qui indiquera "a1" si la totalité de la plage est vide.
J'ai pensé à cette solution pour conserver la plage nommée, mais il est
certain que tu auras une solution moins compliqués à me proposer.

Si t'as rien compris à mon explication, je m'en excuse d'avance.
Merci pour ton aide
Charly




Bonjour Charly,

Pourquoi vouloir à tout prix utiliser la fonction indirect()

Pour ton contrôle formulaire, il s'agit que tu inscrives le
nom de ta plage nommée. Et si tu veux que cette référence
soit dynamique, tu utilises la fonction "Decaler()" pour définir
la plage nommée.


Salutations!



"Charly" a écrit dans le message de news:
Bonjour et merci.
Même en appliquant une plage nommée, la fonction indirecte est refusée dans
la plage d'entrée du format de contrôle.

Et dans le cas présent, je dois vraiment me référer à une plage de cellule
concatenée comme suit : "Feuil1!$a$1:$a$6"
Je ne peux pas me référer à une plage nommée car le nombre de cellules
change régulièrment (par effacement) et il peut arriver une fois que le
nombre de cellule arrive à zéro ce qui supprime la plage nommée.

Merci de votre aimable perséverérence.

Charly


Bonjour Charly,

Pourquoi ne pas utiliser une plage nommée : menu / insertion / nom / définir ?


Salutations!











Avatar
Charly
Je pars de ton idée en créant une ligne de garde en tête de plage et te
remercie de ton amabilité.

Sais-tu par contre, s'il est vraiment possible d'introduire une formule
indirecte dans le formulaire décrit ?

Merci pour tout et très bonne soirée
Charly


Bonjour Charly,

Si en première ligne de ta plage tu avais la donnée "A1"
tu pourrais utiliser ceci pour définir ta plage :
=SI(NBVAL(Feuil1!A:A)=1;"A1";DECALER(Feuil1!A2;;;NBVAL(Feuil1!A:A)-1))

Évidemment, si tu supprimes des lignes, la première ligne doit
toujours présente.


Salutations!