Compilier deux code Private Sub Worksheet_Change

bonjour, je n'arrive pas à mettre en forme deux Private Sub Worksheet_Change sur la meme feuille

Pouvez vous m'aider?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("H11").Address Then
       For Each S In ActiveWorkbook.Sheets
        If S.Name <> "Accueil" Then S.Visible = 2
    Next
End If
If Target.Address = Range("g6").Address And Range("G9").Value <> "" Then connexion
If Cells(11, 8) = "" Then Cells(11, 8) = "Insérer Identifiant"

 End If

 If Sheets("Divers").Range("E3").Value = 3 Then
 UserForm1.Show
 End If

 End Sub

Merci

Bonjour,

Merci de joindre un fichier qui comprend ces codes.

je veux que

If Target.Address = Range("g6").Address And Range("G9").Value <> "" Then connexion

If Cells(11, 8) = "" Then Cells(11, 8) = "Insérer Identifiant"

soit deux chose totalement differente qui n'ai aucun lien.

If Sheets("Divers").Range("E3").Value = 3 Then

UserForm1.Show

Mon fichier est volumineux

Re,

Le module en question est dans quelle feuille ? Tu modifies quoi pour que la macro enclenche ? Peux-tu commenter le code pour qu'on comprenne ton besoin ? Il y a surement une solution plus simple.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("H11").Address Then
       For Each S In ActiveWorkbook.Sheets
        If S.Name <> "Accueil" Then S.Visible = 2
    Next
End If
If Target.Address = Range("g6").Address And Range("G9").Value <> "" Then connexion
If Cells(11, 8) = "" Then Cells(11, 8) = "Insérer Identifiant"

 End If

]Jusqu'ici j'ai pas de problème. Je voudrais rajouter une autre fonction privqte suc worksheet_change pour quand la valeur en E3=3, j'ouvre une Userform

 If Sheets("Divers").Range("E3").Value = 3 Then
 UserForm1.Show
 End If

 End Sub

Bonjour,

Essayer :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim S As Worksheet
    If Target.Address = "$H$11" Then
        For Each S In ActiveWorkbook.Sheets
            If S.Name <> "Accueil" Then S.Visible = 2
        Next S
        If Target = "" Then Target = "Insérer Identifiant"
    ElseIf Target.Address = "$G$6" And Me.Range("G9") <> "" Then
        connexion
    ElseIf Target.Address = "$E$3" Then
        If Target = 3 Then UserForm1.Show
    End If
 End Sub

Cordialement.

Un grand merci, si je veux en rajouter par la suite, je rajoute:

else if....

if...

end Sub

C'est bien ça?

Merci

C'est ce qui est le mieux, sauf cas particulier. Cela cible l'intervention selon la cellule modifiée, en évitant de parcourir tout le code...

et derniere petit question si ma cellule E3 se trouve sur un autre onglet "Divers"

Target.Address = "$E$3"

la mise en forme s'écrit comment?

Dans ce cas, mettre le code la concernant dans la procédure Change de la feuille concernée.

Oui j'ai fait une boulette c'était page sur cette feuille

j'ai encore une problème de syntaxe

 Dim S As Worksheet
 If Target.Address = "$C$3" Then
 If Target = 3 Then
 Call deconnexion
ElseIf Target.Address = "$C$3" Then
        If Target = 2 Then UserForm1.Show
    End If
End Sub
     Dim S As Worksheet
     If Target.Address = "$C$3" Then
         If Target = 3 Then
             deconnexion
         ElseIf Target = 2 Then
             UserForm1.Show
        End If
    End If

Un grand merci pour ton aide.

Bonne journée

Rechercher des sujets similaires à "compilier deux code private sub worksheet change"