[résolu] Rendre un code VBA actif sur une nouvelle feuille créée

stef2872

XLDnaute Nouveau
Bonjour à tous,

Je reviens vers vous aujourd'hui avec la question suivante.
J'ai trouver un code qui va permettre d'afficher un calendrier en double cliquant sur une ou des cellules définies et d'y saisir une date. J'ai réussi à intégrer ce code dans mon classeur et sur la feuille 1 (facture). Malheureusement quand je créé une nouvelle feuille je ne retrouve plus cette fonction. Je pense qu'il faut modifier une partie du code mais laquelle ...

Voici le code

'Code dans Thisworkbook pour saisie date sur cellule
'---------------------------------------------------
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Select Case LCase(Sh.Name)
Case "facture": If Application.Intersect(Target, Range("F3", "D50")) Is Nothing Then Exit Sub
Case Else: Exit Sub
End Select
fmSTD_Calendrier.SelectDateCalendrierCELL IIf(IsDate(Target.Value), Target.Value, Date)
Cancel = True 'ceci évite l'édition de la cellule
End Sub

Que dois je modifier ?

Merci d'avance
 

Pièces jointes

  • test2.xlsm
    78.3 KB · Affichages: 27

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

A vue de nez
VB:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
With Sheets(Sh.Name)
    If Not Application.Intersect(Target, Range("D3:F50")) Is Nothing Then
    MsgBox Target.Address ' pour test à supprimer si OK
    ' décommenter la ligne ci-dessous si test OK
    'fmSTD_Calendrier.SelectDateCalendrierCELL IIf(IsDate(Target.Value), Target.Value, Date)
    End If
End With
Cancel = True 'ceci évite l'édition de la cellule
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 897
Membres
101 833
dernier inscrit
sandra25