calendrier

M

MARIE

Guest
bonsoir a tous
j'ai une application avec la saisie de date a l'aide d' un calendrier avec clic sur A1/48 dans cet exemple
existe il une solution pour que la date actualisé soit déjà présélectionner sur le calendrier , je n'arrive pas à modifier"Calendar1.Value ="
merci pour toutes suggestions et bonne soiree

marie
 

Pièces jointes

  • Classeur1.zip
    9.8 KB · Affichages: 65
  • Classeur1.zip
    9.8 KB · Affichages: 66
  • Classeur1.zip
    9.8 KB · Affichages: 63
L

Lord Nelson

Guest
Salut Marie,

Voici un code qui devrait convenir :

Private Sub Calendar1_Click()
'Instruction neutralisée :
'Calendar1.Value = Today
Unload UserForm1
ActiveCell.Value = Format(Calendar1.Value, "mm/d/YY")
End Sub

Private Sub UserForm_Activate()
If IsDate(ActiveCell.Value) Then
Calendar1.Value = ActiveCell.Value
Else
Calendar1.Value = Date
End If
End Sub

A chaque ouverture du calendrier, si la cellule contient une date, elle sera affichée sinon on prend la date du jour.

Tu devrais égalemement retirer la valeur Day = 15 des propriétés de ton calendrier.

A+
Horatio
 
A

AlainM

Guest
Bonjour à tous

Super ce fil, c'est justement ce que je cherchais.

Marie, pourrais tu m'expliquer comment tu as mis ca en place ? Je voudrais l'utiliser sur une feuille de saisie dont certaines cellules sont des dates.

Merci Marie, merci tout le monde
@lain
 
A

AlainM

Guest
Bonjour à tous
Bonjour Jean-Michel

J'ai un tout petit problèpe que je n'arrive pas à régler et ca m'énerve !

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("E23;F29;J29")) Is Nothing Then
UserForm1.Show
End If

End Sub

Dans ma feuille un j'ai inclus cette procedure, mais comme je ne veux pas d'une place de cellule mais que quelques cellule séparées sur une feuille de saisie j'ai fait ce que tu vois en haut mais ca me colle une erreur.

car si je prends une plage complète j'ai des champs (observation, boites déroulantes, etc.) qui sont prises en compte dans le calendrier.

En tous les cas merci j'ai enfin compris (enfin presque) la mise en place de certaines choses.

Bon dimanche à vous tous et merci de votre aide
@lain
 
A

AlainM

Guest
Re bonjour à tous

Je viens de trouver l'erreur que j'ai faite, c'était un problème de séparateur, il fallait que je mette une virgule à la place d'un point virgule entre chaque référence de cellule.

Désolé d'avoir posé une question de ce type mais ca énerve à la longue :)

Voilà ce qui fonctionne maintenant :

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("E23,F29,J29")) Is Nothing Then
UserForm1.Show
End If

End Sub
 
A

AlainM

Guest
Bonjour à tous
Bonjour Jean-Michel

Une petite question de plus au sujet du calendrier.

Lorsque je veux transferer dans le tableau ou effacer les données des trois cellules de la formule il me retourne une ereur et à chaque fois m'affiche les calendriers avant l'effacement.

Cela veut surement dire que la procedure est en action, ne devrais je pas mettre une condition inverse à la première, c'est à dire que si les cellules ne sont pas vides je n'applique pas le useform1 ?

Quelle est l'instrustion inverse du UseForm1.Show ? Sa désactivation ?

Merci de votre aide
@lain
 
A

AlainM

Guest
Bonjour à tous et joyeux Noël

Mon problème est résolu grace à Jean-Michel, merci beaucoup.

En fait je fais un click droit au lieu d'un gauche en changeant un peu l'appel et tout fonctionne à merveille !

Bonne année

@lain
 

Discussions similaires

Statistiques des forums

Discussions
312 500
Messages
2 089 004
Membres
104 003
dernier inscrit
adyady__