[EXCEL] calendrier

calendrier [EXCEL] - Logiciels - Windows & Software

Marsh Posté le 10-08-2007 à 11:36:52    

Bonjour à vous :)
 
voila je suis entrain de réaliser une feuille excel et dedans y'a des champs date j'ai trouvé comment insere un calendrier, grace à ceci : http://www.01net.com/article/325477.html
 
mais maintenant j'aimerai que la commande linkedcell ne soit pas fixe, je veux dire que l'utilisateur selectionne une cellule ds la feuille et lorsque qu'il clique dans le calendrier sa remplit la cellule selectionné.
 
savez vous faire ça ?
 
Merci d'avance :)
 
SeB

Reply

Marsh Posté le 10-08-2007 à 11:36:52   

Reply

Marsh Posté le 11-08-2007 à 10:48:04    

Bonjour,
Avec un Userform qui contient le calendrier et un bouton de validation
et un bouton annulation
 
Cordialement
 

Reply

Marsh Posté le 17-08-2007 à 15:44:23    

tu peux m'expliquer ?

Reply

Marsh Posté le 18-08-2007 à 07:40:56    

Bonjour,
je vais essayer:
 
 
Tu passes en VBE
tu crées un Userform , dans l'exemple il s'appelle Userform1
Dans cet Userform tu places le calendrier
et deux boutons de commande (l'un  pour Valider, l'autre pour annuler et conserver les valeurs précédentes)
 
Pour placer le calendrier il faut qu'il soit accessible au niveau de la boite à outils qui apparaît lorsque tu a créé ton Userform
, pour le rendre accessible: clic droite sur la boite à outils, puis clic sur contrôles supplémentaires
et cocher la ligne contrôle calendrier.
Un nouveau contrôle apparaît . Tu peux alors l'utiliser.
 
Ensuite:
 
Supposons que l'on veuille sasir une date lorsque l'on clique sur une cellule de la colonne 5 ,
 
il faut introduire le code suivant dans feuil1 (si c'est la feuil1 qui nous concerne):
 
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5 Then
UserForm1.Show
'ci-dessous une petite séquence supplémentaire pour placer le calendrier à un endroit acceptable
UserForm1.Move (Target.Left + 400)
End If
End Sub
 
 
Au niveau du code de calendar:
 
Private Sub Calendar1_Click()
Selection.Value = Calendar1.Value
End Sub
 
Private Sub CommandButton1_Click()
If Not IsNull(Calendar1.Value) Then Selection.Value = Calendar1.Value
UserForm1.Hide
End Sub
 
Private Sub CommandButton2_Click()
Selection.Value = res
UserForm1.Hide
End Sub
 
Private Sub UserForm_Activate()
UserForm1.Left = (Selection.Offset(0, 1).Left + 40)  'pour positionner à gauche de la colonne
If IsDate(Selection.Value) Then Calendar1.Value = CDate(Selection.Value)
res = Selection.Value
End Sub
 
 
Cordialement


Message édité par seniorpapou le 18-08-2007 à 07:42:19
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed