Data Enthousiast
XLDnaute Nouveau
Bonjour,
Je suis un débutant en VBA ,
je suis entrain de développer en vba qui permettra à l'utilisateur de saisir les informations et que les informations saisies soient stockées dans le fichier excel onglet DATA SOURCE (fichier ci joint) après clicque sur l'onglet validate .
Mon problème est que je sais pas comment afficher un calendrier dans un user forme (formulaire) pour permettre à l'utilisateur de facilement choisir la date du début et la date fin.
Svp quelqu'un pourrait-il m'aider sur ce problème ? ci-joint le fichier en question
Je souhaité que lorsque l'utilisateur clique sur la zone de texte au dessous de DATE DEBUT et DATE FIN que le calendrier s'affiche directement .
voici le code que j'ai fait
Je suis un débutant en VBA ,
je suis entrain de développer en vba qui permettra à l'utilisateur de saisir les informations et que les informations saisies soient stockées dans le fichier excel onglet DATA SOURCE (fichier ci joint) après clicque sur l'onglet validate .
Mon problème est que je sais pas comment afficher un calendrier dans un user forme (formulaire) pour permettre à l'utilisateur de facilement choisir la date du début et la date fin.
Svp quelqu'un pourrait-il m'aider sur ce problème ? ci-joint le fichier en question
Je souhaité que lorsque l'utilisateur clique sur la zone de texte au dessous de DATE DEBUT et DATE FIN que le calendrier s'affiche directement .
voici le code que j'ai fait
VB:
Option Explicit ' déclaration explicite des variables dans toutes les procédures de ce module
Dim ws As Worksheet ' ws sera utilisé dans l'ensemble des procédures
Private Sub ComboBox2_Change()
End Sub
' Cette procédure permet de fermer le formulaire
Private Sub CommandButton4_Click()
Unload Me ' femeture user forme après click sur le boutton Close du formulaire
End Sub
Private Sub TextBox3_Change()
End Sub
Private Sub TextBox4_Change()
End Sub
Private Sub UserForm_Initialize()
Set ws = Sheets("DATA SOURCE")
Dim ligne As Integer 'ligne
Dim col As Integer 'colonne
' dès le lancement du formulaire chargement de la barre de défilement
'remplissage du combobox2 ( la barre de défiliment de la liste du Counter Party )
'utilisation de la méthode additems
ComboBox2.AddItem "Socar Trading SA"
ComboBox2.AddItem "Stasco"
ComboBox2.AddItem "ING Bank NV"
ComboBox2.AddItem "Macquarie Bank Limited"
ComboBox2.AddItem "Mitsui Bussan Commodities Ltd."
ComboBox2.AddItem "RWE Supply and Trading GmbH"
ComboBox2.AddItem "Totsa"
ComboBox2.AddItem "Britannic Trading Limited"
ComboBox2.AddItem "Goldman Sachs International"
ComboBox2.AddItem "EDF Trading Ltd"
End Sub
' ***************************************************
' Cette procédure permet de charger *
'les données saisies par l'utilisateur dans *
' l'onglet DATA SOURCE du fichier excel *
' après click sur la commande validate *
'**************************************************
Private Sub CommandButton3_Click()
' commandButton3 = au boutton validate
'1 déclaration
Dim i As Integer
Dim ligne As Integer
Dim ws As Worksheet
Set ws = Sheets("DATA SOURCE")
ws.Activate ' activation de la feuille de l'onglet DATA SOURCE
' on utilise xlDown = si pas de cellule vide sinon on utilise xlUp = s'il ya cellule vide ou pour éviter les cellules vides
' Importation de données saisie dans la collonne A
If IsNumeric(TextBox1.Value) = True Then
Range("A1048576").End(xlUp).Offset(1, 0) = TextBox1.Value ' saisie des valeurs dans la collonne A, A1048576 est la dernière cellule , l'idée suis partie de la dernière cellule puis de remonter vers le haut A1 pour éviter le bug quand il 'ya des cellules vides
End If
' Importation de données saisies dans la collonne B
If IsNumeric(TextBox2.Value) = True Then
Range("B1048576").End(xlUp).Offset(1, 0) = TextBox2.Value 'saisie des valeurs dans la collonne B, B1048576 est la dernière cellule de la collonne B
End If
' Importation de données choisie depuis la liste déroulante (Counter Party) dans la collonne C
If IsNumeric(ComboBox2.Value) = False Then
Range("E1048576").End(xlUp).Offset(1, 0) = ComboBox2.Value
End If
If TextBox3.Value <> " " Then
Range("C1048576").End(xlUp).Offset(1, 0) = TextBox3.Value
End If
If TextBox4.Value <> " " Then
Range("D1048576").End(xlUp).Offset(1, 0) = TextBox4.Value
End If
end sub