Macros avec Liste déroulante et conditions

Bonjour,

Je suis toute nouvelle en VBA.

Je souhaite rajouter une condition à la macro ci dessous:

Je souhaite afficher certaines lignes selon la valeur choisie dans ma liste de déroulante.

Private Sub Worksheet_Change(ByVal Target As Range)

'afficher lignes 33 à 37 si G32 = "A tiroir" sinon masquer les lignes

If Target.Column = 7 And Target.Row = 32 Then (C'est à cet endroit là que je souhaite rajouter or Value="Autre" pour la même action)

If Range("G32").Value = "A Tiroir" Then

Rows("33:37").Select

Selection.EntireRow.Hidden = False

Else (pour tous les autres, il n'y a pas de modification)

Rows("33:37").Select

Selection.EntireRow.Hidden = True

Application.Goto ActiveSheet.Range("G38"), False

End If

End If

End Sub

J'ai fais plusieurs test en vain , dois je tout reprendre en utilisant une succession de If et ElseIf, ou y a t'il d'autres solutions ?

Merci d'avance pour votre aide

Bonjour

Pas sur d'avoir bien compris la question

Private Sub Worksheet_Change(ByVal Target As Range)
  'afficher lignes 33 à 37 si G32 = "A tiroir" sinon masquer les lignes
  If Target.Column = 7 And Target.Row = 32 And Target = "Autre" Then '(C'est à cet endroit là que je souhaite rajouter or Value="Autre" pour la même action)
    If Range("G32").Value = "A Tiroir" Then
      Rows("33:37").Hidden = False
    Else                '(pour tous les autres, il n'y a pas de modification)
      Rows("33:37").Hidden = True
      Application.Goto ActiveSheet.Range("G38"), False
    End If
  End If
End Sub

Si pas ce que tu voulais

Dans le fichier en PJ,

Je viens de rajouter un élément dans ma liste déroulante : G32. je souhaite qu'il réagisse comme "A tiroir", que les lignes suivantes "33 à 37"s'affichent.

J'espère avoir été plus claire.

Merci d'avance

52dbsosso.xlsm (87.64 Ko)

Bonsoir

BSosso a écrit :

Je viens de rajouter un élément dans ma liste déroulante

Lequel ?

J'ai considéré que c'est "Contrepartie"

Comme j'ai des problèmes avec ton fichier (je suis avec 2003)

Essayes

Private Sub Worksheet_Change(ByVal Target As Range)
'afficher lignes 33 à 37 si G32 = "A tiroir" sinon masquer les lignes
  If Target.Column = 7 And Target.Row = 32 Then
    If Target = "A Tiroir" Or Target = "Contrepartie" Then
        Rows("33:37").Hidden = False
    Else
        Rows("33:37").Hidden = True
        Application.Goto ActiveSheet.Range("G38"), True
    End If
  End If
End Sub

Merci bcp ! ça marche !

Rechercher des sujets similaires à "macros liste deroulante conditions"