Lancement de 2 userform avec condition

Bonjour,

Je bloque sur un point pourtant simple.

J'ai 2 feuilles ==> "Formules" et "Cadrage" Et 2 Userforms ==> "Info_Modif" et "Ajustement"

J'essaye de créer un raccourcis unique qui:

Lorsque je suis sur la feuille "Formules" me lance l'userform "Info_Modif"

Et lorsque je suis la feuille "Cadrage" me lance "Ajustement"

Mais jusqu'à présent c'est l'échec.

j'ai essayé :

x = ActiveCell.Row
y = ActiveCell.Column

If Sheets("Formules").Activate = True Then
    If y >= Sheets("Formules").Range("A2").Value Then
        Info_Modif.Show
    End If
ElseIf Sheets("Cadrage").Activate = True Then
    If y = Sheets("tmp4").Range("D6") Then
        Ajustement.Show

    ElseIf y = Sheets("tmp4").Range("D7") Then
        Ajustement.Show

    ElseIf y = Sheets("tmp4").Range("D8") Then
        Ajustement.Show

    ElseIf y = Sheets("tmp4").Range("D9") Then
        Ajustement.Show

    End If
End If

Si vous avez des suggestions je suis preneur.

Merci d'avance.

Bonjour

StagiaireNul a écrit :

J'essaye de créer un raccourcis unique

Comment :

Procédure événementielle ? : Dans ce cas la procédure reçoit le nom de la feuille (Module ThisWorkbook) ou la procédure est dans la feuille concernée (Module Feuille)

Bouton/Raccourci clavier : Dans ce cas testes ActiveSheet.name

Sans fichier pas facile à tester

Dans la feuille de code "ThisWorkbook"

j'ai écris la procédure:

que j'appelle via un raccourcis ctrl + Z

Public Sub lancer-Userf()
x = ActiveCell.Row
y = ActiveCell.Column

If Sheets("Formules").Activate = True Then
    If y >= Sheets("Formules").Range("A2").Value Then
        Info_Modif.Show
    End If
ElseIf Sheets("Cadrage").Activate = True Then
    If y = Sheets("tmp4").Range("D6").Value Then
        Ajustement.Show

    ElseIf y = Sheets("tmp4").Range("D7").Value Then
        Ajustement.Show

    ElseIf y = Sheets("tmp4").Range("D8").Value Then
        Ajustement.Show

    ElseIf y = Sheets("tmp4").Range("D9").Value Then
        Ajustement.Show

    End If
End If
End Sub

Mais quelquesoit la feuille sur laquelle je me trouve ça me lance l'userform Info_Modif.

Je pense que les lignes de code : If Sheets("Formules").Activate = True Then

ne doivent pas être bonnes.

Bonjour

Toujours pas de fichier

Une idée à tester

Attention : Changement dans le nom de la macro le signe - (moins) ne passe pas dans le nom

Public Sub lancer_Userf()
x = ActiveCell.Row
y = ActiveCell.Column

  If ActiveSheet.Name = "Formules" Then
    If y >= Range("A2").Value Then
        Info_Modif.Show
    End If
  ElseIf ActiveSheet.Name = "Cadrage" Then
    With Sheets("tmp4")
      If (y = .Range("D6").Value) Or _
         (y = .Range("D7").Value) Or _
         (y = .Range("D8").Value) Or _
         (y = .Range("D9").Value) Then
        Ajustement.Show
      End If
    End With
  End If
End Sub

Ce code est à placer (place normale) dans un module standard

C'est parfait.

Merci

Rechercher des sujets similaires à "lancement userform condition"