Bonsoir,
Une solution m'a été proposée !
On récupère toujours la date sélectionnée du calendrier, après on l'insère selon le bouton qui a fait appel au calendrier :
Si c'était le bouton 1 (écriture dans la feuille) le code sera :
1 2 3 4 5
| Sub Journalier()
CalFrm.Show
Sheets("BD").[H10].Value = CalFrm.Calendar1.Value
Unload CalFrm
End Sub |
Si c'était depuis un TextBox on écrira :
1 2 3 4 5 6 7 8 9 10 11
| Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CalFrm.Show
TextBox1.Value = CalFrm.Calendar1.Value
Unload CalFrm
End Sub
Private Sub TextBox2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CalFrm.Show
TextBox2.Value = CalFrm.Calendar1.Value
Unload CalFrm
End Sub |
Seulement il reste, comment définir le control actif avant l'appel du calendrier:
1 2 3
| Dim Nom As String
Nom = PersoFrm.Controls("Frame1").ActiveControl.Name
PersoFrm.Controls(Nom).Value = CalFrm.Calendar1.Value |
parce que cette ligne déclenche une erreur :
Nom = PersoFrm.Controls("Frame1").ActiveControl.Name
Erreur d'exécution '91':
Variable objet ou variable de bloc With non définie
Merci d'avance.
Partager