OVH Cloud OVH Cloud

Appel de macro

2 réponses
Avatar
Robert
Bonsoir
Sur Xl 2003

Une procédure événementielle dans un userform...

Private Sub Score_10_AfterUpdate()
n = 10
With UFrmTableauBad16
If .Controls("ScoreA" & n) <> "" Then
If .Controls("Score_" & n) > .Controls("ScoreA" & n) Then
Application.Run ("OptBtn_" & n - 9 & "_Click") 'OptBtn_1_Click
Else
Application.Run ("OptBtn_" & n - 8 & "_Click") 'OptBtn_2_Click
End If
Else: Exit Sub
End If
End With
End Sub
... qui tente d'appeler une autre procédure événementielle...

Private Sub OptBtn_1_Click()
With UFrmTableauBad16
.club_18 = club_10
.club_24 = clubA10
End With
n = 10
End Sub
... et bien sur, l'appel ne fonctionne pas !!!
Peut on appeler une Private Sub? et comment? ( tout en gardant la
variable n dans le nom de la procédure à appeler)

Merci d'avance
Robert

2 réponses

Avatar
papou
Bonjour
Ce sera difficile avec la méthode que tu utilises.
Par contre tu peux utiliser ce type de syntaxe sans problème :
Private Sub Score_10_AfterUpDate()
OptBtn10_CLick
End Sub

Cordialement
Pascal

"Robert" a écrit dans le message de news:

Bonsoir
Sur Xl 2003

Une procédure événementielle dans un userform...

Private Sub Score_10_AfterUpdate()
n = 10
With UFrmTableauBad16
If .Controls("ScoreA" & n) <> "" Then
If .Controls("Score_" & n) > .Controls("ScoreA" & n) Then
Application.Run ("OptBtn_" & n - 9 & "_Click") 'OptBtn_1_Click
Else
Application.Run ("OptBtn_" & n - 8 & "_Click") 'OptBtn_2_Click
End If
Else: Exit Sub
End If
End With
End Sub
... qui tente d'appeler une autre procédure événementielle...

Private Sub OptBtn_1_Click()
With UFrmTableauBad16
.club_18 = club_10
.club_24 = clubA10
End With
n = 10
End Sub
... et bien sur, l'appel ne fonctionne pas !!!
Peut on appeler une Private Sub? et comment? ( tout en gardant la variable
n dans le nom de la procédure à appeler)

Merci d'avance
Robert


Avatar
Robert
Merci Papou
Ta solution fonctionne bien sur mais ne correspond pas à mon besoin: je
veux garder la variable n dans le nom de la sub appelée ( car en fait il
en a plusieurs possibles)
Robert
Bonjour
Ce sera difficile avec la méthode que tu utilises.
Par contre tu peux utiliser ce type de syntaxe sans problème :
Private Sub Score_10_AfterUpDate()
OptBtn10_CLick
End Sub

Cordialement
Pascal

"Robert" a écrit dans le message de news:

Bonsoir
Sur Xl 2003

Une procédure événementielle dans un userform...

Private Sub Score_10_AfterUpdate()
n = 10
With UFrmTableauBad16
If .Controls("ScoreA" & n) <> "" Then
If .Controls("Score_" & n) > .Controls("ScoreA" & n) Then
Application.Run ("OptBtn_" & n - 9 & "_Click") 'OptBtn_1_Click
Else
Application.Run ("OptBtn_" & n - 8 & "_Click") 'OptBtn_2_Click
End If
Else: Exit Sub
End If
End With
End Sub
... qui tente d'appeler une autre procédure événementielle...

Private Sub OptBtn_1_Click()
With UFrmTableauBad16
.club_18 = club_10
.club_24 = clubA10
End With
n = 10
End Sub
... et bien sur, l'appel ne fonctionne pas !!!
Peut on appeler une Private Sub? et comment? ( tout en gardant la variable
n dans le nom de la procédure à appeler)

Merci d'avance
Robert