Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 msgbox avec liste de choix

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,


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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…