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
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
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!