Procédure événementielle avec plusieurs variables
Bonjour tout le monde,
D'après le FAQ de Skyroad, il est possible d'utiliser le code ci dessous en utilisant une seule variable :
Code:
1 2 3 4 5 6 7 8 9 10 11
| Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Long
If Sh.Name <> "Feuil1" Or Target.Address(0, 0) <> "G26" Then Exit Sub
While Sh.Range("G26") > Worksheets("Fusible").Range("A" & i + 3)
i = i + 1
Wend
Sh.Range("G27") = Worksheets("Fusible").Range("A" & i + 3)
If Sh.Range("G26") = "" Then
Sh.Range("G27") = ""
End If
End Sub |
Donc je m'étais dit que je pouvais extrapoler ce système avec un nombre indéfini de variable (par la suite, je me suis rendu compte que ce que j'avais supposé était faux:arf:)
J'ai voulu appliquer le code suivant (pour une application differente de la première) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim m As Integer, n As Integer, p As Integer
If Sh.Name <> "Feuil1" Or Target.Address(0, 0) <> "G14" Then Exit Sub
If Sh.Name <> "Feuil1" Or Target.Address(0, 0) <> "K10" Then Exit Sub
For p = 1 To 5
If Worksheets("Feuil1").Range("G14") = Worksheets("Feuil2").Cells(27, 1 + p) Then
Exit For
End If
Next
If ComboBox1.Value = Worksheets("Feuil3").Range("A2") Then
For m = 1 To 5
If Dispo.Value = Worksheets("Feuil2").Cells(12, m + 1) Then
Exit For
End If
Next
For n = 1 To 12
If Worksheets("Feuil1").Range("G14") = Worksheets("Feuil2").Range("A" & 12 + n) Then
Exit For
End If
Next
Worksheets("Feuil2").Range("B2") = Worksheets("Feuil2").Cells(12 + n, m + 1) * Worksheets("Feuil2").Cells(28, 1 + p)
ElseIf ComboBox1.Value = Worksheets("Feuil3").Range("A1") Then
For n = 1 To 12
If Worksheets("Feuil1").Range("G14") = Worksheets("Feuil2").Range("K" & 12 + n) Then
Exit For
End If
Next
Worksheets("Feuil2").Range("B2") = Worksheets("Feuil2").Range("L" & n + 12) * Worksheets("Feuil2").Cells(28, 1 + p)
End If
End Sub |
Problème : quand je touche soit à la cellule "G14" en "Feuil1", soit à la cellule "K10" de la "Feuil1", le code affiche un message d'erreur comme étant une "forme ambiguë".
je voudrais savoir quelle(s) modification(s) apporter afin de gérer un résultat (ici, en "B2" de la "Feuil2") en fonction de plusieurs variables (ici, 2)
Merci de votre attention.
PS : si vous avez des pistes au niveau du tutoriel et/ou du FAQ, je suis preneur car j'ai cherché toute l'après midi, et je dois admettre que je sèche un peu:cry::oops: