Liste déroulante et bouton de contrôle

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

angedemon02

XLDnaute Junior
Bonjour à tous,

Je voulais savoir s'il était possible de contrôler une liste déroulante avec un bouton pour l'incrémenter ?
En théorie cela ne pose pas de problème avec des nombres mais je me retrouve avec une liste de nom.
J'ai joint un petit fichier pour mieux expliquer.

Merci à ceux qui prendrons le temps de jeter un coup d'd’œil !!

Bonne journée.
 

Pièces jointes

Re : Liste déroulante et bouton de contrôle

Bonjour,

1 - déjà appliquer ce qui a été dis plus haut: mettre les choses dans l'ordre pour V3! Cela aurait démontré que tu avait testé et me mettrai de meilleur humeur.

Code:
Sub v3()
With ActiveSheet.DrawingObjects("Compteur 2")
.Value = 8
del = .Value
End With
MsgBox del
End Sub

Après examen du classeur et du cas, il s'avère que Compteur 2 a pour valeur maximale la valeur 2. Tu ne peux donc la changer au-delà de 2. Si tu veux la changer pour 8 il faut d'abord changer la propriété .Max
ceci fonctionne:
Code:
Sub v3()
With ActiveSheet.DrawingObjects("Compteur 2")
.Max = 8
.Value = 8
del = .Value
End With
MsgBox del
End Sub

2- V4 Application.Match est l'équivalent VBA de la fonction de feuille de calcul EQUIV
Traitée par VBA elle peut retourner un Variant contenant une valeur d'erreur ou un resultat juste
La variable de réception doit être donc un Variant et ensuite Testée pour savoir si le résultat a été trouvé.

Comme la fonction de feuille de calcul EQUIV, le deuxième paramètre doit être un tableau ou cellules donc dans ton cas un objet Range.

Si tu mets "e5" en premier paramètre Match cherchera une cellule contenant "e5"

Code:
Sub v4()
i = Application.Match(Range("e5"), Range("liste"), 0)
If Not IsError(i) Then MsgBox i Else MsgBox "Non trouvé"
End Sub

Conclusion: tout ceci démontre le besoin d'un bon bouquin pour connaître les bases.

A+
 
Dernière modification par un modérateur:
Re : Liste déroulante et bouton de contrôle

Re,

1 - déjà appliquer ce qui a été dis plus haut: mettre les choses dans l'ordre pour V3! Cela aurait démontré que tu avait testé et me mettrai de meilleur humeur.

Tu as raison, et c'est bien ce que j'avais fait, avant de revenir en arrière pour afficher mon 1er résultat.
Je n'ai plus pensé à remettre le code qui me donnait 2. Mais c'était bel et bien testé.

Après examen du classeur et du cas, il s'avère que Compteur 2 a pour valeur maximale la valeur 2.

Ça c'est une excellente nouvelle car ça me permet de mieux comprendre le résultat obtenu.
Par contre, je ne sais pas comment tu arrives à déduire cela.
Est-ce dû à cela ? : i = i + IIf(sens, -1, 1)

Si tu mets "e5" en premier paramètre Match cherchera une cellule contenant "e5"

Je ne me suis pas méfié car j'avais également tenté :
Application.Match(Range(e5), "liste", 0), ce qui ne fonctionne évidemment pas.

Conclusion: tout ceci démontre le besoin d'un bon bouquin pour connaître les bases.

Je suis parfaitement d'accord avec toi. Là encore tu as raison. Je vais m'y mettre, les tutoriels trouvés sur le net ne suffisant pas, oui du moins pas assez pédagogiques à mon goût. D'ailleurs aurais tu quelque chose à me conseiller ?

Merci
 
Re : Liste déroulante et bouton de contrôle

Re,

Par contre, je ne sais pas comment tu arrives à déduire cela.
En affichant la fenêtre espion et ajoutant un espion sur 'ActiveSheet.DrawingObjects("Compteur 2")' j'ai vu que sa valeur max était 2


Lorsque j'ai appris VBa il n'y avait ni internet ni bouquins! Seule l'aide d'excel! Mais il y a quelques années John Walkenback a écrit un bouquin dont je ne sais plus le titre et que j'ai eu l'occasion de consulter (traduit en français) et qui me semblait parfait pour commencer. Sinon je ne sais pas.

Tu peux faire un fil avec cette demande d'ailleurs.

A+
 
Re : Liste déroulante et bouton de contrôle

Bonjour à tous !

Tout d'abord je tiens à m'excuser de ne pas avoir donné suite à ce fil...
Il est vrai que j'ai beaucoup cherché par moi même n'ayant pas pris la peine de vérifier sur le forum.

J'ai vu vos suggestions et c'est intéressant. Après m'être arraché les cheveux j'ai eu une idée un peu bête mais qui a résolu mon problème ! J'espère que ma solution pourra être utile à d'autres personnes.

Merci pour votre aide !
 

Pièces jointes

Re : Liste déroulante et bouton de contrôle

Bonjour angedemon02, le fil,

Oui et on peut se passer de la colonne A avec la formule =INDEX(B3:B7;G5)

Mais ce n'est plus le problème posé au post #1 (et dans le titre du fil).

On y parle en effet de liste déroulante, c'est incompatible avec une formule...

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour