Double Private worksheet

Bonjour

J'ai une erreur car j'ai l'impression qu'il ne peut pas exécuter 2 worksheet change sur un même onglet ?

J'ai une première maj pour le choix de l'agent et du type de travaux

Puis ma 2ème servirai à afficher les familles possibles en fonction du seteur et du type. Pour l'instant je cherche juste a afficher un texte basique pour valider cette partie du code.

L'idéal serait que lorsque le secteur est choisi, ainsi que le type, il mette la liste adéquate avec les bases de données dans les autres onglets

Voila le fichier

Merci d'avance

2fichier-dt.xlsm (152.01 Ko)

Bonjour JustInMagic,

Et bien, je ne comprend pas, pourquoi ne mets-tu pas tes codes à la suite ?

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("G12")) Is Nothing Then

        Range("G14").Value = "Choisir un agent"
        Range("G16").Value = "Choisir le type de demande"
        Range("N28").Value = "Choisir le compte/OF associé à l'opération"

        Select Case Target
            Case Is = "P1N"
                Range("$N$20").Value = "Excellent résultat !"
            Case Is = "P1S"
                Range("$N$20").Value = "Bon résultat"
            Case Is = "P2N"
                Range("$N$20").Value = "Résultat satisfaisant"
            Case Is = "P2S"
                Range("$N$20").Value = "Résultat insatisfaisant"
            Case Is = "P3N"
                Range("$N$20").Value = "Mauvais résultat"
            Case Is = "P3S"
                Range("$N$20").Value = "Résultat exécrable"
            Case Else
                Range("$N$20").Value = "Aucun résultat"
        End Select

    End If
End Sub

Et c'est normal que ça ne marche pas, Worksheet_Change est une procédure événementielle, elle ne peut s'exécuter qu'une fois donc !

J'ai un probème de range...

Mais j'ai réussi avec un ami en faisant un sub en change et l'autre en selection change

Maintenant le soucis est de remplacer l'appel du texte avec les niveaux par les tableaux sous forme de liste

Par exemple, lorsque je choisi P3S et confections PRM, il faut afficher dans famille sous forme de liste, les familles correspondantes à ces choix...

Voici mon code à jour

J'aimerai fusionner les selects, mais je sais pas trop comment faire, avec des & ? une imbrication l'une dans l'autre ?

Et après comment transformer les textes en cases de tableau comme on peut le faire sur excel de ce style "=P1S_BDD[[#Tout];[Avancement]]"

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$G$12" Then
Range("G14").Value = "Choisir un agent"
Range("G16").Value = "Choisir le type de demande"
Range("N28").Value = "Choisir le compte/OF associé à l'opération"
End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim secteur As String
Dim famille As String
Dim typetravaux As String
Dim piece As String

secteur = Range("G12")
typetravaux = Range("G16")




Select Case secteur
Case Is = "P1N"
famille = Range("$G$12")
Case Is = "P1S"
famille = Range("$G$12")
Case Is = "P2N"
famille = Range("$G$12")
Case Is = "P2S"
famille = Range("$G$12")
Case Is = "P3N"
famille = Range("$G$12")
Case Is = "P3S"
famille = Range("$G$12")
Case Else
famille = "Aucun résultat"
End Select

Range("$N$20") = famille



Select Case typetravaux
Case Is = "Réparation PRM"
piece = Range("$G$16")
Case Is = "Confection PRM"
piece = Range("$G$16")
Case Is = "Réparation Outillage"
piece = Range("$G$16")
Case Is = "Confection Outillage"
piece = Range("$G$16")
Case Else
piece = "Aucun résultat"
End Select

Range("$N$21") = piece


End Sub

Rechercher des sujets similaires à "double private worksheet"