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

laurent950

XLDnaute Accro
Bonsoir Lionel,

J'ai ajouté 2 lignes a votre code

With oCombo
.Name = "Combo1" '<-- nom du Combobox
.Object.List() = tbl '<-- exemple de chargement des données
.Object.TextAlign = 3 ' Aligne le texte a droite
.Object.DropDown ' Déroule le menu
If .Width < 125 Then .Width = 125
.Object.Value = "aujourd'hui + nbr jrs"

End With
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Je reviens sur ce fil où l'excellent laurent950 m'a donné la solution à mon souci :)

J'aimerais, pour économiser un clic, ouvrir automatiquement la liste déroulante :
1644754183926.png

J'ai fait plusieurs tentatives sans résultat.

Auriez-vous la solution ?
Je joins le fichier test et je continue mes recherches.

Un grand merci à tous :)
lionel :)
 

Pièces jointes

  • MsgBox_Laurent Perso.xlsm
    75.7 KB · Affichages: 4

job75

XLDnaute Barbatruc
Bonjour Lionel, le fil,

DropDown va bien :
VB:
With oCombo
    .Name = "Combo1" '<-- nom du Combobox
    .Object.List() = tbl '<-- exemple de chargement des données
    .Activate
    .Object.DropDown
End With
A+
 

Pièces jointes

  • MsgBox_Laurent Perso.xlsm
    76.9 KB · Affichages: 5
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Il manquait un .Activate, j'ai corrigé mon post #35.
Merci Gérard, encore une fois, c'est nickel :)

J'ai encore un p'tit souci :
Je voudrais qu'il affecte la sélection du menu à la cellule active avant le texte déjà contenu.
J'ai codé comme ceci : "ActiveCell.Value = ctrl.Object.Text & " - " & ActiveCell.Value"
Et dans la cellule, je n'ai que "dans le réseau depuis 1 an et + - ) mais pas le texte déjà contenu.

Aurais-tu le bon code ?
je continue à chercher lol,
Merci Gérard,
lionel :)
 

job75

XLDnaute Barbatruc
lol, j'suis ti bête ... je l'efface en début de code :mad:
Oui, et dans le code de Feuil2 ceci est bien plus simple :
VB:
Private Sub Combo1_Change()
    ActiveCell = OLEObjects("Combo1").Object & IIf(ActiveCell = "", "", " - " & ActiveCell)
    OLEObjects("Combo1").Delete
    ActiveCell.Activate
End Sub
Edit : j'avais mis un espace comme séparateur mais tu veux un tiret...
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re, lol, j'en ai encore une bonne :rolleyes:

Ton code "ActiveCell = OLEObjects("Combo1").Object & IIf(ActiveCell = "", "", " - " & ActiveCell)", évidemment fonctionne nickel :)

J'ai un autre besoin que j'essaie de coder (dur ! dur! fourmi lol)

2 cas se présentent
cas 1
j'ai besoin que le texte se positionne juste après le mot "proposition"
ma cellule contient déjà le texte suivant :
"28-01-22 09:27 : Répondeur -
25-01-22 14:25 : RendezVous pour le : 27 01 2022 15:00 - RAS : OK pour réfléchir au changt de réseau selon proposition "ICI"
Mme habite à la Réunion
25-01-22 14:18 : Répondeur -
04-01-22 15:38 : Répondeur -"

cas 2
j'ai besoin que le texte se positionne juste après le 1er mot "proposition"
ma cellule contient déjà le texte suivant :
Un RdV annulé peut être repris et le texte peut être plusieurs fois fans la cellule
"03-02-22 14:25 : RendezVous pour le : 03 02 2022 18:00 - RAS : OK pour réfléchir au changt de réseau selon proposition "ICI"
28-01-22 09:27 : Répondeur -
25-01-22 14:25 : RendezVous pour le : 27 01 2022 15:00 - RAS : OK pour réfléchir au changt de réseau selon proposition
Mme habite à la Réunion
25-01-22 14:18 : Répondeur -
04-01-22 15:38 : Répondeur -"

P'tite Précision :
"OK pour réfléchir au changt de réseau selon proposition" est toujours le même texte.

Je cherche, je cherche lol :)

En cas, je joins le fichier avec le résultat attendu,
lionel :)
 

Pièces jointes

  • MsgBox_Laurent Perso.xlsm
    75.2 KB · Affichages: 5
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour Lionel, le forum,

Essaie donc :
VB:
Private Sub Combo1_Change()
    If InStr(ActiveCell, "proposition") Then
        ActiveCell = Replace(ActiveCell, "proposition", "proposition" & " - " & OLEObjects("Combo1").Object, 1, 1)
    Else
        ActiveCell = " - " & OLEObjects("Combo1").Object & IIf(ActiveCell = "", "", IIf(Left(ActiveCell, 3) = " - ", "", " - ") & ActiveCell)
    End If
    OLEObjects("Combo1").Delete
    ActiveCell.Activate
End Sub
Mais es-tu sûr de vouloir utiliser " - " comme séparateur et non un renvoi à la ligne ?

A+
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir Gérard, le Forum,

Après beaucoup de test dans mon fichier de travail ..... C'est génial et ça fonctionne du tonnerre :)

Si tu veux bien encore m'aider, j'ai quand même 1 p'tite dernière (enfin j'espère lol) demande :

Je m'explique :
Je mets ton code en action chaque fois que nous prenons un RdV mais il peut arriver que ma commerciale se trompe dans son clic et qu'elle modifie ou annule l'affectation dans l'UF qui suit automatiquement.

Est-il possible d'annuler l'affectation faite par le Combo si elle modifie ou annule l'affectation ?

Merci encore une fois.
En attendant ...... je cherche,
lionel :)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 949
Membres
101 851
dernier inscrit
vaiata