XL 2016 Affiche/masque Combobox

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 !

jeromeN95

XLDnaute Impliqué
Hello en ce beau jour j'aimerai un piti coup de cellule svp.

Affiche / Masque Zone de liste déroulante (formulaire) si cellule vide :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveSheet.OLEObjects("Combobox1")
.Visible = Me.Range("C25").Value <> ""
End With
End Sub
 
Solution
Bonjour jeromeN95, sylvanu,

Si je comprends bien c'est très simple :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Shapes("Image 3").Visible = [C24] <> ""
Shapes("Zone combinée 1").Visible = [C24] <> ""
End Sub
A+
Bonjour Jérome,
Pas tout bien compris. Essayez pour voir :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub                           ' Si plusieurs cellules sélectionnées, on sort
    If Not Intersect(Target, Range("A1:Z1000")) Is Nothing Then ' Adapter plage où l'action doit s'effectuer
        If Target = "" Then                                     ' Si la cellule cliquée est vide
            ActiveSheet.OLEObjects("Combobox1").Visible         ' Afficher Combobox
        End If
    End If
End Sub
 
Merci sylvanu,
mais ca ne fonctionne pas

Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub ' Si plusieurs cellules sélectionnées, on sort
If Not Intersect(Target, Range("C15:C15")) Is Nothing Then ' Adapter plage où l'action doit s'effectuer
If Target = "" Then ' Si la cellule cliquée est vide
ActiveSheet.OLEObjects("CentraleP1").Visible ' Afficher Combobox
End If
End If
End Sub

Je précise que ce n'ai pas une combobox mais une liste déroulante pris le formulaire
 
Je n'ai pas tout compris. Pourquoi Range("C15:C15") dans votre code alors que la liste est en C24 ?
En PJ un essai, si la liste est vide on masque l'image en B24, sinon elle est visible.
Je ne comprends pas ce qu'est CentraleP1 dans (ActiveSheet.OLEObjects("CentraleP1"))
VB:
Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub ' Si plusieurs cellules sélectionnées, on sort
If Not Intersect(Target, Range("C24")) Is Nothing Then ' Adapter plage où l'action doit s'effectuer
    If Target = "" Then ' Si la cellule cliquée est vide
        Shapes("Image 3").Visible = False
    Else
        Shapes("Image 3").Visible = True
    End If
End If
End Sub
expliquez moi ce que vous voudriez faire, je suis un peu paumé.🙂
 

Pièces jointes

- 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
9
Affichages
404
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
0
Affichages
625
Réponses
4
Affichages
441
Retour