![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Excel Forum d'entraide sur Excel |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre du Club
![]() Date d'inscription: mai 2008
Messages: 103
|
bonjour
je voudrais insérer un calendrier dans un fichier excel lorsque l'on clique dans une cellule qui se situe entre L9 et L364. j'ai fait un code mais ca ne marche pas, je ne comprends pas ce qui va pas. Code :
Private Sub Calendar1_Click() range("l9:l364").Select For Each range In Selection If range.Select Then range.Value = Calendar1.Value End If Next End Sub Private Sub worksheet_selectionchange(ByVal target As range) Dim intersection As range, plage As range Set plage = range("l9:l364") Set intersection = Application.Intersect(target, plage) If Not (intersection Is Nothing) Then Calendar1.Visible = True End If End Sub Private Sub calendar1_lostfocus() Calendar1.Visible = False End Sub quelqu'un a une idée ? |
|
|
|
|
|
#2 (permalink) |
![]() Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
|
Bonjour,
Pourquoi pas simplement... Code :
Private Sub Calendar1_Click() ActiveCell = Calendar1.Value End Sub Et pour la procédure événementielle Code :
Private Sub worksheet_selectionchange(ByVal target As range) Dim plage As range Set plage = range("l9:l364") If Not Application.Intersect(target, plage) Is Nothing Then Calendar1.Visible = True End If End Sub
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois) |
|
|
|
|
|
#3 (permalink) |
|
Membre du Club
![]() Date d'inscription: mai 2008
Messages: 103
|
yes!
ca fonctionne tres bien! voici mon code: Code :
Private Sub Calendar1_Click() ActiveCell.Value = Calendar1.Value Calendar1.Visible = False End Sub Private Sub worksheet_selectionchange(ByVal target As range) Dim plage As range Set plage = range("l9:n364") If Not Application.Intersect(target, plage) Is Nothing Then Calendar1.Visible = True Else Calendar1.Visible = False End If End Sub Maintenant comment faire si je veux rajouter en + la colonne H qui n'est pas accollée aux autres colonnes ? j'ai essayé en séparant par une virgule mais ça me valide égalemant les colonnes qui se situent entre H et L... ooops! ben ca y est, j'ai deja trouvé! Code :
Private Sub Calendar1_Click() ActiveCell.Value = Calendar1.Value Calendar1.Visible = False End Sub Private Sub worksheet_selectionchange(ByVal target As range) Dim plage As range Set plage = range("l9:n364, h9:h364") If Not Application.Intersect(target, plage) Is Nothing Then Calendar1.Visible = True Else Calendar1.Visible = False End If End Sub Dernière modification par fring ; 26/08/2008 à 12h57 Motif: fusion de 2 messages |
|
|
|
|
|
#4 (permalink) |
|
Membre du Club
![]() Date d'inscription: mai 2008
Messages: 103
|
heu... encore une petite question:
mon tableau traine en longueur, et je voudrais en fait que le calendrier s'affiche à côté de la cellule sur laquelle on clique. c'est possible de faire ça ? (parce que quand je clique sur la colonne Y, si il s'affiche dans la colonne H, ca le fait pas...) |
|
|
|
|
|
#5 (permalink) |
![]() Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
|
Tu peux essayer ceci :
Code :
Private Sub worksheet_selectionchange(ByVal target As range) Dim plage As range Set plage = range("l9:n364, h9:h364") If Not Application.Intersect(target, plage) Is Nothing Then Calendar1.Top = ActiveCell.Top Calendar1.Left = ActiveCell.Left Calendar1.Visible = True Else Calendar1.Visible = False End If End Sub
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois) |
|
|
|
![]() |
![]() |
||
calendrier inséré dans excel
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|