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

Microsoft 365 Cellule avec liste déroulante ou pas, sous condition par macro

  • Initiateur de la discussion Initiateur de la discussion pat66
  • Date de début Date de début

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 !

pat66

XLDnaute Impliqué
Bonjour le forum,

J'ai besoin de votre aide pour écrire une macro car je n'y arrive pas

Je souhaiterai
1- pouvoir avoir une liste déroulante dans G19 si la forme ("Rectangle : coins arrondis 50").Visible = true
2- Saisir 9 dans G19 en plus de la validation des données (1ere valeur de la liste déroulante : 9,12,15,20)

Je souhaiterai
1- supprimer la validation des données dans G19 (liste déroulante) si la forme ("Rectangle : coins arrondis 50").Visible = false
2- vider G19

ci dessous le code que j'essaie d'écrire mais ça beuge de partout 😡

Private Sub epargneDSI()
Application.ScreenUpdating = False

If ActiveSheet.Shapes("Rectangle : coins arrondis 50").Visible = False Then
ActiveSheet.Range("G19").Value = ClearFormats
Else
ActiveSheet.Range("G19").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=$D$158:$D$161" (valeurs = 9,12,15,20)
ActiveSheet.Range("G19").Value = 9
End If
End Sub



un grand merci d'avance
 
Solution
VB:
Sub epargneDSI()
If ActiveSheet.Shapes("Rectangle : coins arrondis 50").Visible = False Then
    ActiveSheet.Range("G19") = ""
    ActiveSheet.Range("G19").Validation.Delete
Else
    ActiveSheet.Range("G19").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Operator:=xlBetween, Formula1:="=$D$158:$D$161" ' (valeurs = 9,12,15,20)
    ActiveSheet.Range("G19") = 9
End If
End Sub
Bonjour,
VB:
Sub epargneDSI()
Application.ScreenUpdating = False
If ActiveSheet.Shapes("Rectangle : coins arrondis 50").Visible = False Then
    ActiveSheet.Range("G19").ClearFormats
Else
    ActiveSheet.Range("G19").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Operator:=xlBetween, Formula1:="=$D$158:$D$161" ' (valeurs = 9,12,15,20)
    ActiveSheet.Range("G19").Value = 9
End If
End Sub
Edit : ClearFormats n'efface pas la liste de validation en G19.

A+
 
Dernière édition:
VB:
Sub epargneDSI()
If ActiveSheet.Shapes("Rectangle : coins arrondis 50").Visible = False Then
    ActiveSheet.Range("G19") = ""
    ActiveSheet.Range("G19").Validation.Delete
Else
    ActiveSheet.Range("G19").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Operator:=xlBetween, Formula1:="=$D$158:$D$161" ' (valeurs = 9,12,15,20)
    ActiveSheet.Range("G19") = 9
End If
End Sub
 
Bonjour a tous


VB:
    If ActiveSheet.Shapes("Rectangle : coins arrondis 50").Visible = False Then
        ActiveSheet.Range("G19").Validation.Delete
        ActiveSheet.Range("G19").ClearContents
        ThisWorkbook.RefreshAll
    Else
        ActiveSheet.Range("G19").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Operator:=xlBetween, Formula1:="=$D$1:$D$4" '(valeurs = 9,12,15,20)
        ActiveSheet.Range("G19").Value = 9
    End If

Avais pas vu le code a Job75
 
- 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

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