|
|
|
|
|
Bonsoir lesdentsduweb,
Comme excel incrémente la date que vous introiduisez dans une cellule: exemple "1.1.2004" en utilisant la poignée de recopie il va incrémenté la date en tenant compte du calendrier interne, donc dès qu'il arrive au "31.1.2004" la suivante devient "1.2.2004" et ainsi de suite, Je pense que cela devrait vous aidez. Bonne semaine. Salutations Jean-Pierre |
|
Bonjour,
Le calendrier comme tu l'entends n'existe pas , i lfaut le développer, mais tu peux en trouver déjà développés en cherchant sur le net. J'en ai moi même récupérer un mais je ne sais plus sur quel site Bonne recherche, |
Bonjour lesdentsduweb,
Hier soir j'ai mal interprété votre message, par contre ce matin je vous propose de voir sous ce lien: http://perso.wanadoo.fr/frederic.sigonneau/code/Calendriers/BOCalendrierSaisieDate.zip Bonne journée. Salutations Jean-Pierre |
si tu as access tu ajoutes au reference calendrier et tu utilises le controle |
Bonjour
en effet, il existe un calendrier sur Excel pour afficher la fenetre en cliquant sur cellule... il faut aller dans affichage/barre d'outils/boite à outils controles la fenetre de controles s'affiche puis il faut aller tout en bas de cette fenetre et appuyer sur autres controles (dessin : marteau et clé) puis appuyer sur : controle calendrier une fenetre VBA s'affiche, vous revenez sur le fichier excel et vous modifiez les dimentions, couleur... puis clic droit sur la fenetre du calendrier et puis sur visualiser code ensuite, dans la fenetre VBA vous avez ça qui s'affiche : Private Sub Calendar1_Click() End Sub au lieu de click il faut se mettre sur lostfocus en le choisissant dans la liste et on obtient : Private Sub Calendar1_LostFocus() End Sub après il faut taper le code suivante entre les deux lignes : Calendar1.Visible = True donc ceci permet de faire disparaitre la fenetre puis c là ke je viens le problème car j'arrive à faire disparaitre la fenetre calendrier quand je clic à l'extérieur mais pas à l'afficher en clicant sur la cellule... je m'y suis mis il y a 30min puis en cherchant l'aide sur le net j'ai vu ce forum alors je vous avance un peu et puis si vous avez fait plus, merci de me le signaler bon courage Hichamzone |
J'ai trouvé sur ce site : http://www.excel-downloads.com/telechargements/plannings-et-calendriers/10-3.htm |
Bonjour,
En utilisant le contrôle proposé par hichamzone. En posant que l'appel du calendrier se fait sur un clic en [A1] et qu'il copie la date sélectionné en [A3].
Option Explicit
Private Sub Calendar1_Click()
Range("A3").Value = Calendar1.Value
End Sub
'
Private Sub Calendar1_LostFocus()
Calendar1.Visible = False
End Sub
'
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Intersection As Range, Plage As Range
Set Plage = Range("A1")
Set Intersection = Application.Intersect(Target, Plage)
If Not (Intersection Is Nothing) Then
Calendar1.Visible = True
End If
End Sub
'
Lupin |
Bonjour et tou d'abord merci de cette aide.
Est-il possible d'utiliser ce code pour que quand je clique en [A1], il me copie la date sélectionnée en [B1] mais que je puisse aussi, quand je clique sur [A2], qu'il me copie la date sélectionnée en [B2] ? Comment puis-je l'adapter ? Suis-je obligé de faire un contrôle sur toutes les cases ou existe-il une façon de faire une incrémentation ? En gros je cherche à faire : Si je clique sur [A(x)], le calendrier s'ouvre et la date que je sélectionne s'affiche en [B(x)]. J'espère avoir été clair. Merci |
|
Bonjour G-T,
Tu peux reprendre le code proposé par Lupin.A en le modifiant comme suit : Option Explicit
Private Sub Calendar1_Click()
ActiveCell.Offset(0, 1).Value = Calendar1.Value
Calendar1.Visible = False
End Sub
End Sub
Private Sub Worksheet_SelectionChange(ByVal target As Range)
Dim Intersection As Range, Plage As Range
Set Plage = Range("A1:A100")
Set Intersection = Application.Intersect(target, Plage)
If Not (Intersection Is Nothing) Then
Calendar1.Visible = True
End If
End Sub
Il ne reste plus qu'à adapter la plage de cellules à cliquer et/ou la colonne devant contenir la date. Cordialement. |
Merci Papou93,
je vois ce que tu veux dire. Je clique sur une case de A1 à A..., Ensuite avec ActiveCell.Offset(0, 1).Valueje désigne la case à 0 ligne et 1 colonne de plus de la case active (Ce qui signifie la case juste à la droite de là où j'ai cliqué) et je met la valeur sélectionnée dans le calendrier dedans. Donc si je mets ActiveCell.Offset(0, 0).Valueça me mettra si j'ai bien compris la valeur dans la case où je viens de cliquer. G-T |
Bonsoir,
Un petit problème se pose ensuite. Si je clique sur une case dans la plage pour afficher le calendrier et que je clique ensuite sur une autre case avant d'avoir cliqué sur le calendrier, la case active dans laquelle la valeur est insérée n'est alors plus la bonne. En effet, la valeur sélectionnée grace au calendrier est insérée dans la dernière case où j'ai cliqué. Est-ce possible d'empêcher de sélectionner une autre case tant que le calendrier est affiché ? Et comment ? Merci G-T |
Bonsoir G-T,
Pour répondre à ton 1er message, il est inutile d'écrire ActiveCell.Offset(0, 0).Value puisque ActiveCell.Value est équivalent. En ce qui concerne le second, je ne pense pas que celà soit possible, du moins jusqu'à Excel 2003 puisque je n'ai pas encore testé Excel 2007. Mais il existe une solution : Il suffit de créer un UserForm contenant un calendrier, puis de régler sa propriété ShowModal à true. Un click sur le calendrier fermera le UserForm. De cette façon, il sera impossible de sélectionner une autre cellule. Espérant t'avoir aidé et restant à ton écoute. Cordialement. |
Heu...
Le soucis vient de moi, je découvre mon incapacité si je puis dire. Comment mot-on un calendrier dans un UserForm ? J'aurai presque envier de m'excuser tellement ça doit paraître évident dès lors qu'on a un peu regardé comment fonctionnait tout ceci auparavant. |
Heu... c'est simple :
Lorsque tu es dans le userform, tu dois voir la boîte à outils contrôles. Tu cliques droit dans la zone des contrôles, tu choisis contrôles supplémentaires, puis dans la liste déroulante tu choisis 'Contrôle Calendrier 11.0'. Je crois que pour les versons d'excel antérieures à 2003, ça doit être 'Contrôle Calendrier 10.0'. J'allais oublier : pour trouver ce contrôle calendrier, il faut avoir installé Access dans Microsoft Office. Autrement, je crois qu'on peut se le procurer sur le Net, mais je sais plus où exactement, il faut chercher. Cordialement.
|
Bonjour,
Je me permet de venir ici et j'espère ne pas vous outer de par mon ignorance. En effet j'aimerais savoir exactement comment faire pour mettre un calendrier dans mon tableur Excel 2003. J'ai créer une colonne date et j'aimerais beaucoup pouvoir en sélectionnant une cellule dans cette colonne voir un calendrier aparaitre avec lequel je peux choisir la date et aussi avec lequel dès que je clique il disparait. Même si je dois le mettre dans chaque cellule c'est pas génant. Merci d'avance J.F. |
C'est bon j'ai trouvé il fallait mettre :
Private Sub Calendar1_Click() ' Met la date sélectionnée dans la cellule active ActiveCell.Value = Calendar1.Value ' Masque le calendrier Calendar1.Visible = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 2 And Target.Row >= 8 And Target.Row <= 107 Then ' Si la cellule sélectionnée est dans la plage qu'on veut lier au calendrier, ' on affiche le calendrier Calendar1.Visible = True ' Place le calendrier à côté de la cellule Calendar1.Top = ActiveCell.Top Calendar1.Left = ActiveCell.Left + ActiveCell.Width Else ' Sinon, on masque le calendrier Calendar1.Visible = False End If End Sub J'ai mis les commentaires pour que chacun puisse voir les étapes. Voilà ca peut toujours servir. |
Salu Lupin,
La reponse a l'affichage est tres interessante mais apres avoir choisie une date sur la calendrier , comment fait on pour masquer ce meme calendrier. facteur
|
Résultats pour Excel : existe t il un calendrier ?
Résultats pour Excel : existe t il un calendrier ?
Résultats pour Excel : existe t il un calendrier ?
Résultats pour Excel : existe t il un calendrier ?