[EXCEL] VBA
Guitou2804
-
yvasnil Messages postés 82 Statut Membre -
yvasnil Messages postés 82 Statut Membre -
Bonjour,
J'ai trouvé ce code sur internet qui m'a permis de faire ce que je voulais sur la feuille de mon classeur, je vcoudrais savoir comment faire pour que dès que je créée une nouvelle feuille, ce code s'applique automatiquement avec l'objet présent sur la nouvelle feuille lui aussi bien sur...
Private Sub Calendar1_Click()
ActiveCell.Value = Calendar1.Value
End Sub
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.Column <> 5 Or Target.Row <> 6 Or Target.Cells.Count > 3 Then
'si la colonne <>5 (E) ou la ligne <> 6 ou la sélection fait plus de 3 cellules
Calendar1.Visible = False
'alors on cache le calendrier
Exit Sub
Else
'sinon
Calendar1.Top = Target.Offset(1, 0).Top + 2
' aligner le calendrier avec le haut de la cellule en dessous
Calendar1.Left = Target.Left + 10
' 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
Merci d'avance
J'ai trouvé ce code sur internet qui m'a permis de faire ce que je voulais sur la feuille de mon classeur, je vcoudrais savoir comment faire pour que dès que je créée une nouvelle feuille, ce code s'applique automatiquement avec l'objet présent sur la nouvelle feuille lui aussi bien sur...
Private Sub Calendar1_Click()
ActiveCell.Value = Calendar1.Value
End Sub
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.Column <> 5 Or Target.Row <> 6 Or Target.Cells.Count > 3 Then
'si la colonne <>5 (E) ou la ligne <> 6 ou la sélection fait plus de 3 cellules
Calendar1.Visible = False
'alors on cache le calendrier
Exit Sub
Else
'sinon
Calendar1.Top = Target.Offset(1, 0).Top + 2
' aligner le calendrier avec le haut de la cellule en dessous
Calendar1.Left = Target.Left + 10
' 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
Merci d'avance
A voir également:
- [EXCEL] VBA
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Déplacer colonne excel - Guide