Bonsoir,
J'ai dans une feuille plusieurs cellules qui, quand on clique dessus, déclenchent toutes le même événement.
Dans le module de la feuille, voici ce que j'ai écrit :
Private Sub Worksheet_Change(ByVal Target As Range)
'Pour la cellule "DilNbUXFl1"
If Not Application.Intersect(Target, [DilNbUXFl1]) Is Nothing Then
Application.EnableEvents = False
If ControleSaisie([DilNbUXFl1], 1) = 1 Then [DilNbUXFl1] = "? ? ?" '---> Contrôles saisies
End If
'Pour la cellule "DilVolS1a"
If Not Application.Intersect(Target, [DilVolS1a]) Is Nothing Then
Application.EnableEvents = False
If ControleSaisie([DilVolS1a], 1) = 1 Then [DilVolS1a] = "? ? ?" '---> Contrôles saisies
End If
'et ceci pour une quinzaine de cellules
Application.EnableEvents = True
End Sub
Ça marche.
---------------------------------------------
Plutôt que de réécrire sempiternellement la même sentence, j'ai essayé ceci :
'Pour les cellules "DilNbUXFl1", "DilVolS1a"...
If Not Application.Intersect(Target, [DilNbUXFl1], [DilVolS1a],...) Is Nothing Then
Application.EnableEvents = False
If ControleSaisie([DilNbUXFl1], 1) = 1 Then
[DilNbUXFl1] = "? ? ?"
ElseIf ControleSaisie([DilVolS1a], 1) = 1 Then
[DilVolS1a] = "? ? ?"
.
.
.
End If
End If
Ça ne marche pas.
Comment résoudre ce problème ?
Merci d'avance.
J'ai dans une feuille plusieurs cellules qui, quand on clique dessus, déclenchent toutes le même événement.
Dans le module de la feuille, voici ce que j'ai écrit :
Private Sub Worksheet_Change(ByVal Target As Range)
'Pour la cellule "DilNbUXFl1"
If Not Application.Intersect(Target, [DilNbUXFl1]) Is Nothing Then
Application.EnableEvents = False
If ControleSaisie([DilNbUXFl1], 1) = 1 Then [DilNbUXFl1] = "? ? ?" '---> Contrôles saisies
End If
'Pour la cellule "DilVolS1a"
If Not Application.Intersect(Target, [DilVolS1a]) Is Nothing Then
Application.EnableEvents = False
If ControleSaisie([DilVolS1a], 1) = 1 Then [DilVolS1a] = "? ? ?" '---> Contrôles saisies
End If
'et ceci pour une quinzaine de cellules
Application.EnableEvents = True
End Sub
Ça marche.
---------------------------------------------
Plutôt que de réécrire sempiternellement la même sentence, j'ai essayé ceci :
'Pour les cellules "DilNbUXFl1", "DilVolS1a"...
If Not Application.Intersect(Target, [DilNbUXFl1], [DilVolS1a],...) Is Nothing Then
Application.EnableEvents = False
If ControleSaisie([DilNbUXFl1], 1) = 1 Then
[DilNbUXFl1] = "? ? ?"
ElseIf ControleSaisie([DilVolS1a], 1) = 1 Then
[DilVolS1a] = "? ? ?"
.
.
.
End If
End If
Ça ne marche pas.
Comment résoudre ce problème ?
Merci d'avance.