Microsoft 365 msgbox avec liste de choix

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
joyeux Noel.gif

Je me tourne une nouvelle fois vers nos ténors ;)

J'ai fait des p'tits tests UF pour faire des choix de nombres ... Pas de souci particulier pour ça :)
Mais les UF, me semble-t-il, alourdissent les classeurs et les miens sont déjà plutôt lourds et "Usines à gaz" comme disent les Amis lol.

Je me demandais si ce ne serait pas mieux (si c'est possible ?) de faire ce choix à l'aide, par exemple, d'un msgbox avec liste de choix ?
J'ai fait des recherches et pas mal d'essais sans succès.

Si c'est possible, auriez-vous le bon code ?
En cas, je joins une fichier test.
Merci pas avance,
Amicalement,
lionel,
 

Pièces jointes

  • MsgBox_chiffres.xlsm
    27 KB · Affichages: 22
Dernière édition:
Solution
Bonsoir @Usine à gaz

' Astuce
' Création d'une comboBox sur la page Excel via une Msgbox
La derrière case de ce tableau : Array(10, 15, 20, 30, 45, 0)
c'est le code des boutons de la la MSGBOX soit : la description ici pour "Msgbox"

alors tbl c'est le tableau avec les valeurs que vous avez choisies sauf 0 bien sur
vous avez deviné : tbl(UBound(tbl)) La valeur c'est 0 bien sur pour "OK"
Bon sa sert a rien je pense mais, il faut utilisé Msgbox comme une fonction
qui va renvoyer 0, et donc 0 ne sert à rien dans votre liste...

job75

XLDnaute Barbatruc
Bonsoir Lionel,

Avec le double-clic sur la cellule concernée :
VB:
Private Sub Worksheet_BeforedoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim x$, pos1%, pos2%, pos3%
x = ActiveCell
pos1 = InStr(x, "proposition")
If pos1 = 0 Then Exit Sub
Cancel = True
pos2 = InStr(pos1, x, vbLf)
If pos2 = 0 Then pos2 = Len(x) + 1
pos3 = InStrRev(Left(x, pos2), " - ")
If pos3 < pos1 Then Exit Sub
ActiveCell = Left(x, pos3 - 1) & Mid(x, pos2)
End Sub
A+
 

Discussions similaires

Statistiques des forums

Discussions
311 731
Messages
2 081 993
Membres
101 856
dernier inscrit
Marina40