Un double clic de cellule(s) ouvrant un calendrier

Résolu
mikmak78 Messages postés 59 Date d'inscription vendredi 5 octobre 2012 Statut Membre Dernière intervention 6 mars 2017 - Modifié par mikmak78 le 19/05/2014 à 14:27
mikmak78 Messages postés 59 Date d'inscription vendredi 5 octobre 2012 Statut Membre Dernière intervention 6 mars 2017 - 20 mai 2014 à 15:18
Bonjour,
Je suis novice de chez novice! Mais voilà un jour il faut se lancer dans le monde impitoyable de Vba!
J'essaye de mettre au point une macro qui me permet en double cliquant sur une cellule (faisant parti d'un range de cellules) de faire apparaitre un calendrier (monthview). L'utilisateur n'aurait plus qu'à clicker sur la date et valider la date avec un bouton "ok".
J'ai réussi à faire cette macro pour une cellule
Dans ma feuille
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
calendrier.Show
End If
End Sub

Dans mon userform "calendrier"
'bouton ok
Private Sub CommandButton1_Click()
Worksheets("feuil1").Range("A1") = MonthView
Unload Me
calendrier.Hide
Sheets("feuil2").Activate
Sheets("feuil1").Activate
End Sub
'bouton fermer
Private Sub CommandButton2_Click()
calendrier.Hide
End Sub

Mais voilà cette macro ne marche que pour une seule cellule et je ne sais pas comment la faire fonctionner pour tout mon range.
J'espère avoir été claire dans mon explication. Je remercie d'avance mes futurs « helper » ?

2 réponses

jordane45 Messages postés 36363 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 septembre 2022 350
Modifié par jordane45 le 19/05/2014 à 14:27
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du
code sur le forum.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Message édité : Ajout des balises de code.
0
jordane45 Messages postés 36363 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 septembre 2022 350
19 mai 2014 à 14:26
Comme tu doubles clic dans la cellule... elle devient la cellule active...
donc :

Private Sub CommandButton1_Click()

ActiveCell.Value = MonthView 
Unload Me
calendrier.Hide
End Sub

0
mikmak78 Messages postés 59 Date d'inscription vendredi 5 octobre 2012 Statut Membre Dernière intervention 6 mars 2017
20 mai 2014 à 07:49
Merci beaucoup!
0
jordane45 Messages postés 36363 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 septembre 2022 350
20 mai 2014 à 12:08
N'oublie pas de Marquer comme résolu la discussion.
(lien se trouvant sous le titre de ta question)
0
mikmak78 Messages postés 59 Date d'inscription vendredi 5 octobre 2012 Statut Membre Dernière intervention 6 mars 2017
Modifié par mikmak78 le 20/05/2014 à 13:51
re
J ai bien fait de ne pas cloturer car j ai un probleme de range

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("D4:D26,F4:F26,H4:H26,J4:J26,L4:L26,N4:N26,P4:P26,R4:R26,T4:T26,V4:V26,X4:X26,Z4:Z26,AB4:AB26,AD4:AD26,AF4:AF26,AH4:AH26,AJ4:AJ26,AL4:AL26,AN4:AN26,AP4:AP26,AR4:AR26,AT4:AT26,AV4:AV26,AX4:AX26,AZ4:AZ26,BB4:BB26,BD4:BD26,BF4:BF26,BH4:BH26,BJ4:BJ26,BL4:BL26,BN4:BN26")) Is Nothing Then
calendrier.Show
End If
End Sub
J'ai une pop up d erreur 1004 qui apparait. Y-a-t-il une limite dans les ranges?
0
jordane45 Messages postés 36363 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 septembre 2022 350
20 mai 2014 à 14:32
J ai bien fait de ne pas cloturer car j ai un probleme de range
Là ... c'est un autre souci... un autre question.
Il te faut donc ouvrir une nouvelle discussion.

Par contre.. oui.. il n'est pas impossible qu'il y ait une limite de "range" et/ou une limite du nombre de caractères écrits dans une ligne de code.
0
mikmak78 Messages postés 59 Date d'inscription vendredi 5 octobre 2012 Statut Membre Dernière intervention 6 mars 2017
20 mai 2014 à 15:18
merci je cloture et j ouvre une nouvelle question
0