Calendrier Fonction "Contrôle Calendrier 11.0"

targa

XLDnaute Junior
Bonjour à tous,

J'ai un pti problème à soumettre, merci d'avance

La situation:
Dans ma feuille, j'ai 2 cellules de dates avec des cellules fusionnées.
la 1ère => B2:D2 (Nommée: Date1) avec la fonction "Microsoft Date and Time Picker Control 6.0(SP6)" => OK
La 2ème => B5:D5 (Nommée: Date2) avec la fonction "Calendar Control 11.0"

Mon problème:
Pour la 2ème cellule lorsque je clique dedans (avec cellules fusionnées)
ou d'autre cellules fusionnées, il me vient une alarme de débogage.
apparemment le code VBA n'accepte pas des cellules fusionnées.
Et deuxièmement à chaque cellule remplies que je sélectionne, il me vient le calendrier de sélection de date.
autre problème, lorsque je sélectionne plusieurs cellule, j'ai l'alarme aussi
Mon souhait est que le calendrier "Calendar Control 11", n'apparaisse que lorsqu'on sélectionne la cellule B5:D5 (Date2)

Pouvez-vous m'aider, svp, ci-joint un fichier d'exemple.

Un grand merci pour votre aide.
 

Pièces jointes

  • Calendrier_test.xls
    57.5 KB · Affichages: 61
  • Calendrier_test.xls
    57.5 KB · Affichages: 75
  • Calendrier_test.xls
    57.5 KB · Affichages: 81
Dernière édition:
G

Guest

Guest
Re : Calendrier Fonction "Contrôle Calendrier 11.0"

Bonjour,

Juste changer le test de l'adresse de cellule:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' si la sélection sur la feuille change (target est la référence de la sélection)
    If Target(1).Address(0, 0) <> "B5" Then
    'If Target.Column = 7 And Target.Row = 30 And Target.Cells.Count = 1 Then
        'si la colonne <>3 (C) ou la ligne <2 ou la sélection fait plus d'1 cellule
        Calendar1.Visible = False
        'alors on cache le calendrier
        Exit Sub
    Else
        'sinon
        Calendar1.Top = Target.Offset(0, 0).Top + 2
        ' aligner le calendrier avec le haut de la cellule en dessous
        Calendar1.Left = Target.Left + 50
        ' l'aligner à gauche de la cellule
        'Calendar1.LinkedCell = Target.Address
        ' mettre la cellule liée au contrôle sur la cellule sélectionnée
        If IsDate(Target.Value) Then
        'si la cellule sélectionnée contient une date
            Calendar1.Value = Target.Value
            ' la récupérer
        Else
            ' sinon mettre la date du jour
            Calendar1.Value = Date
        End If
        Calendar1.Visible = True
        'afficher le calendrier
    End If
End Sub

A+
 

targa

XLDnaute Junior
Re : Calendrier Fonction "Contrôle Calendrier 11.0"

Bonjour Hasco,

Un grand merci pour ta la solution et réponse hyper rapide. ;)

Cela marche à merveille, je mets à disposition le fichier corrigé, pour ceux à qui cela interresserait

Meilleures salutations

A+

Targa
 

Pièces jointes

  • Calendrier_test.xls
    46.5 KB · Affichages: 70
  • Calendrier_test.xls
    46.5 KB · Affichages: 81
  • Calendrier_test.xls
    46.5 KB · Affichages: 94

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino