Ajouter une date avec un calendrier dans plusieurs cellules d'une colonne

lucratif

XLDnaute Nouveau
Bonjour,

Je cherche à ajouter des dates dans les cellules d'une colonne à l'aide d'un calendrier. (En réalité j'ai trois colonne).

Mes colonnes sont simplement : Date de départ, Date de fin, Date de départ 2 (l'utilisateur ajoute ensuite une date)

J'ai réussi à réaliser ceci pour une seule cellule à l'aide de l'outil Dévloppeur => Inserer =>Microsoft Date and Time Picker Control 6.0. Cette solution fonctionne bien, mais pour une seule colonne. En effet, je ne peux pas me permettre de réailiser cette opération plusieurs fois. Ce serait bien trop long. (A chaque fois faut lier le calendrier à la cellule).

Avez vous une solution à me proposée ?

PS : j'ai chercher pas mal de temps sur plusieurs forum mais rien de concluant.

Merci beaucoup,
 

Annette

XLDnaute Occasionnel
Re : Ajouter une date avec un calendrier dans plusieurs cellules d'une colonne

Bonjour lucratif, le forum,

Pourriez-vous nous joindre un extrait de fichier anonymisé avec ce que vous avez effectué et le résultat à obtenir.
Ceci permettra de mieux cerner votre besoin et d'y apporter une éventuelle solution :).

Cordialement
 

Si...

XLDnaute Barbatruc
Re : Ajouter une date avec un calendrier dans plusieurs cellules d'une colonne

salut

un exemple avec un usf (formulaire) pour gérer les 2 dates d'un coup et cela sans intégrer des boutons de partout. Si tu as le DTPicker à disposition, tu dois avoir aussi le MonthView, non ?

Remarque : je n'ai mis aucun garde fous !
 

Pièces jointes

  • Usf Date début - Date fin.xlsm
    254 KB · Affichages: 272

lucratif

XLDnaute Nouveau
Re : Ajouter une date avec un calendrier dans plusieurs cellules d'une colonne

Merci de votre aide,

Cependant, le formulaire ne s'ouvre pas lors d'un clic en C ou en G... De même, pour répondre à mon besoin, il faudrais alors 3 formulaires pour chacune des colonnes C, D ou G car elles ne sont pas forcément connues dès le départ et ne sont pas forcément identiques.

En revanche j'ai réussi à reprendre une macro. Avec cette macro le calendrier s'ouvre quand on clic dans A1 et le résultat s'affiche en A3. Or ce n'est pas le cas. De même, il faudrait l'adapter une plage de cellule.

Par exemple :

Colonne C : C1 à C20 : quand je clic en C1 le calendrier s'affiche et le résultat s'écrit en C1. De même jusqu'à la ligne 20.
Colonne D : D1 à D20
Colonne G : D1àD20

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
 
Dernière édition:

PMO2

XLDnaute Accro
Re : Ajouter une date avec un calendrier dans plusieurs cellules d'une colonne

Bonjour,

Une piste avec les codes suivants.
Le DTPicker1 est bien présent mais non visible.

1) code à copier dans la fenêtre de code de la feuille concernée
Code:
Private Sub DTPicker1_Change()
With DTPicker1
  ActiveCell = .Value
  .Visible = False
End With
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Plage As Range
Dim R As Range
Dim OL As OLEObject
Dim DTP As DTPicker
'---
On Error GoTo Erreur
Application.ScreenUpdating = False
Set R = ActiveCell
For Each OL In ActiveSheet.OLEObjects
  If OL.Name = "DTPicker1" Then
    OL.Visible = True
    Set DTP = OL.Object
    OL.Top = R.Top
    OL.Left = R.Left
    OL.Height = R.Height
    OL.Width = R.Width
  End If
Next OL
'---
Set R = Application.Intersect(Target(1, 1), Range(MA_PLAGE))
If R Is Nothing Then
  DTP.Visible = False
Else
  R = ""
End If
'---
Erreur:
Application.ScreenUpdating = True
If Err <> 0 Then MsgBox "Erreur " & Err.Number & vbCrLf & Err.Description
End Sub

2) code à copier dans un module Standard
Code:
'### Constante de la plage concernée (à adapter) ###
Public Const MA_PLAGE As String = "c6:d9,g6:g9"
'###################################################
 

Pièces jointes

  • Ajouter des dates avec un DTPicker dans plusieurs cellules.xlsm
    25.7 KB · Affichages: 246

lucratif

XLDnaute Nouveau
Re : Ajouter une date avec un calendrier dans plusieurs cellules d'une colonne

Le fichier joint ne fonctionne pas, et je ne sais pas à quoi correspond Le DTPicker1 XD

En revanche, la solution avec la macro fonctionne très bien. C'est pile ce que je voulais. J'ai réussi à l'adapter pour mon besoin.

Un très, très gros merci à vous =)

J'en profite :

Savez-vous s'il est possible de créer une nouvelle barre de défilement pour faciliter la lecture d'un long tableau. Par exemple, cette barre de défilement permettrait de naviguer le long des très nombreuses colonnes.

Un exemple sur ce fichier : (J'ai pas réussi à reproduire).
 

Pièces jointes

  • Diagramme-de-Gantt-sur-Excel-v2.xlsx
    20.7 KB · Affichages: 150

Si...

XLDnaute Barbatruc
Re : Ajouter une date avec un calendrier dans plusieurs cellules d'une colonne

re

Merci de votre aide,
Cependant, le formulaire ne s'ouvre pas lors d'un clic en C ou en G...

je ne comprends pas ! Bien sûr "une cellule de C ou de G" !

Si tu ne veux que 3 colonnes, essaie cela
Code:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
  With DTPicker1
    If Intersect(R, Range("C6:C9,D6:D9,G6:G9")) Is Nothing Then .Visible = 0: Exit Sub
    .Visible = 1
    .Top = R.Top: .Left = R.Left: .Height = R.Height: .Width = R.Width
  End With
End Sub
Private Sub DTPicker1_Change()
  ActiveCell = DTPicker1
  DTPicker1.Visible = False
End Sub

remarque des cellules "date" cibles doivent-être formatées.
 

Pièces jointes

  • DTPicker (onglet).xlsm
    22.7 KB · Affichages: 226

lucratif

XLDnaute Nouveau
Re : Ajouter une date avec un calendrier dans plusieurs cellules d'une colonne

Décidement les fichiers joints. Cela ne veux pas fonctionner... Pourtant j'ai bien activer les macros...etc

A propos de la deuxième question : c'est exactement la même chose que sur le dernier fichier que j'ai joint. En haut, il y à un deuxième barre de défilement (scoll). Comment faut il faire ?
 

PMO2

XLDnaute Accro
Re : Ajouter une date avec un calendrier dans plusieurs cellules d'une colonne

je ne sais pas à quoi correspond Le DTPicker1
C'est vous qui l'avez créé, il s'agit du calendrier et je précise à nouveau qu'il n'est pas visible mais apparaît bien sur une action de l'utilisateur.
Quant au fonctionnement (je parle de ma proposition), il faut cliquer une cellule de la plage concernée : par exemple C6.
Cela fonctionne très bien chez moi.
 

lucratif

XLDnaute Nouveau
Re : Ajouter une date avec un calendrier dans plusieurs cellules d'une colonne

AAh, j'ai compris pour le DTPicker1. C'est le nom du calendrier. J'avais pas saisie.

Sur votre fichier, je ne sais pas pourquoi cela ne marche pas. Comme avec le fichier de Si.

En revanche j'au utilisé la macro que vous avez spécifié dans votre post et je l'ai ajouté à mon fichier. Cela marche très bien. La question du calendrier est donc clos. Alors je vous remercie =)
 

Discussions similaires