Microsoft 365 ComBox directement dans la feuille

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 !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
J'espère que vous allez bien et je vous souhaite un beau et bon WE 🙂

Sur les conseils toujours avisés de Job75, j'ai créé une ComboBox directement dans ma feuille de travail 🙂

Mais je n'arrive pas à coder pour répondre à mes besoins :
J'aurais besoin que :

J'aurais besoin que :
si message sélectionné dans "Rappels"

1 quand clic dans cellules colonne "J" : la liste "Rappels" s'affiche
et je sélectionne un message qui est écrit dans la cellule cliquée après les msg déjà existants
2 la liste "OK Rappels" s'affiche et le msg sélectionné est écrit dans la cellule après les msg déjà existants
3 enfin, la liste déroulante se vide

si message sélectionné dans "NE PAS RAPPELER"
1 quand clic dans cellules colonne "J" : la liste déroute s'affiche
et je sélectionne un message qui est écrit dans la cellule cliquée après les msg déjà existants
2 la liste déroulante se vide.

Pourriez-vous m'aider ?
Je joins le fichier test.

Avec mes remerciements,
lionel,
 

Pièces jointes

Dernière édition:
Re-Gérard,
j'essaie de le dire différemment lol :
si message sélectionné dans le menu déroulant "Rappels"
Par exemple clic sur J8

le menu déroulant s'affiche, je sélectionne un msg
"J8" prend la valeur du msg sélectionné (en gardant le msg déjà existant)
le menu déroulant "OK Rappel" s'affiche à son tour et je sélectionne un msg
"J8" prend à nouveau la valeur du msg sélectionné (en gardant le msg déjà existant)

si message sélectionné dans le menu déroulant "NE PAS RAPPELER"
Par exemple clic sur J8

1 la liste déroute s'affiche, je sélectionne un msg
"J8" prend la valeur du msg sélectionné (en gardant le msg déjà existant)

J'espère que j'arriverai à être plus clair 😉
Je remets le fichier test,

Merci Gérard 🙂
 

Pièces jointes

Dernière édition:
Bon sang, je n'arrive pas à être clair 😡

Est-ce que c'est mieux comme ci-dessous :
Sans titre.jpg
 
re
bonsoir Lionel
il me semblait que tu avais fait un super truc de menu popup pour ça 😉
que se passe t il ça marche plus ? 😉
en tout cas plus ça va ,moins je comprends le sens de ta démarche
maintenant on a plus un menu ni 2 mais trois combobox
qui je suppose doit fonctionner de paire voir de triple selon les deux précédents choix
ce qui fait pas mal de combi certainement impossible a réaliser sans passer par des sub et conditions patchée et à patcher a tout bout de champs
perso ces combo formulaire et non activX je les utilise jamais elle sont trop démunie d'events et propriété nécessaire a ce que tu veux faire
c'est encore moins un bon chemin que les 3 précédent
afin que je comprenne la chose je vais te demander une chose très simple
il faudrait que tu fasse une liste de toute les possibilités d'association
est tu capable de faire ça sans en louper
 
Bonjour Patrick,
Vraiment merci d'être là 🙂
Effectivement le menu popup fonctionne super bien mais le souci d'affichage pose un vrai problème et je serai obligé de tenter de le mettre en place demain si la ComBox directement dans la feuille n'est pas possible.

Le principe est le même que pour le menu popup :
1 - si je sélectionne l'un des messages dans "Rappels", fonctionnement comme la photo du #post7,
2 - si je sélectionne l'un des messages dans "Ne pas Rappeler, même fonctionnement sauf qu'il ne m'envoie pas au menu "OK Rappel",

C'est tellement important pour moi que je ne bouge pas et je reste à ton écoute 🙂
Merci patrick,
lionel,
 
Finalement avec le fichier joint j'affiche la ComboBox à gauche de la cellule cliquée :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ComboBox1
    .Visible = False
    If Intersect(ActiveCell, [J8:J31]) Is Nothing Then Exit Sub
    .Left = ActiveCell.Left - .Width 'affichage à gauche de la cellule
    .Top = ActiveCell.Top
    .List = Array("RAPPELS", "NE PAS RAPPELER")
    .Visible = True
    Application.OnTime 1, Me.CodeName & ".Deroule"
End With
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(ActiveCell, [J8:J31]) Is Nothing Then Cancel = True: Worksheet_SelectionChange ActiveCell: Exit Sub
End Sub

Private Sub Combobox1_Change()
With ComboBox1
    If .ListIndex = -1 Then .Text = "": Exit Sub
    If .Text = "RAPPELS" Then
        .List = [Rappels].Value
    ElseIf .Text = "NE PAS RAPPELER" Then
        .List = [Ne_pas_Rappeler].Value
    Else
        If .Text = "<effacer>" And ActiveCell <> "" Then
            ActiveCell = Left(ActiveCell, Len(ActiveCell) - 1)
            ActiveCell = Left(ActiveCell, InStrRev(ActiveCell, "-"))
            .Visible = False
        Else
            ActiveCell = ActiveCell & " " & .Text & " -"
            If IsError(Application.Match(.Text, [Rappels], 0)) Then
                .Visible = False
            Else
                .List = [OKRappels].Value
            End If
        End If
    End If
End With
ActiveCell.Activate
Application.OnTime 1, Me.CodeName & ".Deroule"
End Sub

Sub Deroule()
With ComboBox1
    If .Visible Then .Text = "": .Activate: .DropDown 'déroule la liste
End With
End Sub
Salut patricktoulon, comme je l'avais dit une seule ComboBox suffit.
 

Pièces jointes

Re-Gérard 🙂
Vraiment super ça marche nickel , Bon sang j'en ai vraiment besoin.
Tu ne peux imaginer à quel point tu me rends service là.
Je vais voir pour l'intégrer dans mon fichier de travail en remplacement des UserForm et si c'est bon = PLUS DE PROBLEMES DE RALENTISSEMENT.

Je te rends compte dès que je l'aurai fait 🙂
Super merci Gérard,
lionel,
 
Re-Gérard,
Si c'est pas trop long à m'expliquer 🙂
Pourquoi le doubleclic ? :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(ActiveCell, [J8:J31]) Is Nothing Then Cancel = True: Worksheet_SelectionChange ActiveCell: Exit Sub
End Sub
lionel,
 
- 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

Réponses
4
Affichages
243
Réponses
1
Affichages
513
Réponses
5
Affichages
485
Deleted member 453598
D
Retour