Affecter une date dans 2 cellules via un même Contrôle Calendrier

Lio59

XLDnaute Nouveau
Bonjour à tous et à toutes

Par simple sélection de la cellule A1 ou A3, je souhaite affecter une date via un userform avec un contrôle Calendar.

Je n'arrive pas à affecter la date dans UNE des 2 cellules, elle s'affecte dans les 2. Cela paraît simple...
J'ai bien déclaré ma variable en Public, afin de la passer de l'userform à la procédure Worksheet_SelectionChange.

Pour contourner le problème, 2 solutions :

1 affecter la variable ayant la valeur de la date sélectionnée dans une cellule (colonne masquée), puis la récupérer dans la bonne cellule (cela fonctionne)

2 créer 2 userforms et appeler l'un ou l'autre en fonction de la cellule sélectionnée (cela fonctionne)

Mais bon, ce n'est pas génial....
le code de la feuille
Code:
Public Sub Worksheet_SelectionChange(ByVal target As Range)

If Not Application.Intersect(target, Range("N12", "N14")) Is Nothing Then
If Application.Intersect(target, Range("N13")) Is Nothing Then
UserForm6.Show 'mon calendrier
End If
End If
End Sub

le code du calendrier
Code:
Public k As Date

Public Sub Calendrier_Click()
Dim target As Range

k = Calendrier.Value
If Not Range("N14").Select Is Nothing Then
Range("N14").Value = k
End If
If Not Range("N12") Is Nothing Then
Range("N12").Value = k
End If
Unload UserForm6
Exit Sub
End Sub

Merci à vous!
 

kjin

XLDnaute Barbatruc
Re : Affecter une date dans 2 cellules via un même Contrôle Calendrier

Bonjour,
Hummm !
S'agit-il des cellules A1 et A3 ou non ? j'ai beau chercher dans la macro...
Dans la feuille, le calendrier s'affiche uniquement si tu sélectionnes une de ces 2 cellules
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A1, A3")) Is Nothing Then UserForm6.Show
End Sub
Dans le formulaire, la cellule active (A1 ou A3 donc ;) )prend la valeur du calendrier et se ferme
Code:
Private Sub Calendrier_Click()
ActiveCell = Calendrier.Value
Unload Me
End Sub
A+
kjin
 

Pierrot93

XLDnaute Barbatruc
Re : Affecter une date dans 2 cellules via un même Contrôle Calendrier

Bonjour Lio, Kjin

perso, vois pas trop ce que tu veux tester avec ces 2 lignes de code ?

Code:
If Not Range("N14").Select Is Nothing Then

If Not Range("N12") Is Nothing Then

quelque chos doit m'échapper...

bon après midi
@+
 

Lio59

XLDnaute Nouveau
Re : Affecter une date dans 2 cellules via un même Contrôle Calendrier

Merci kjin... une fois de plus!

Oui oui, N12 et N14 n'ont rien à faire là.... Fallait les remplacer par A1 et A3!
désolé Pierrot93
Mon problème était finalement si simple à résoudre! Je me suis dis : "Et si je brouillais les pistes!"
Je plaisante!

ActiveCell..... elle est bonne Cell là!
J'avais mis range("...").activate, range("..").select... et oui cela forçait l'adresse... alors qu'ActiveCell regarde la cellule active... tt simplement!

Encore merci!
 

Discussions similaires

Statistiques des forums

Discussions
312 370
Messages
2 087 688
Membres
103 639
dernier inscrit
NIEMASAFI