Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

évènement sur onglet

2 réponses
Avatar
elect31
Bonjour à tous
Vous parait il possible qu'il existe, ou de créer, un évènement
double-clic sur l'onglet d'une feuille?
Je voudrais rendre visible un objet calendar sur une feuille, en double
cliquant sur son onglet.
Cela me permettrait de contraindre l'utilisateur à nommer la feuille de
la date qu'il choisit.
La fonction ci-dessous remplaçant les "/" par "_"

Function date_Feuille_Interdits(mydate As String) As String
Dim date_seance As String
Dim i As Byte

If mydate = "" Then
Exit Function
Else
'Controle la date de la séance et remplace les caractères interdits
'par underscore.
For i = 1 To Len(mydate)
Select Case Mid(mydate, i, 1)
Case ":", "\", "/", "*", "?", "[", "]"
date_seance = Replace(mydate, Mid(mydate, i, 1), "_", 1, -1,
vbTextCompare)
date_Feuille_Interdits = date_seance
Exit Function
Case Else
date_Feuille_Interdits = mydate
End Select
Next i
End If
End Function

2 réponses

Avatar
michdenis
| Vous parait il possible qu'il existe, ou de créer, un évènement
| double-clic sur l'onglet d'une feuille?

Non.

Tu peux protéger le classeur (non la feuille). Ceci te donnera le
contrôle sur la possibilité de renommer les feuilles ou les
déplacer...

Tu peux utiliser l'événement "Activate" de la feuille pour afficher
l'objet "Calendar" en utilisant par exemple une condition à savoir
si l'onglet contient déjà une date ou non... ou une autre condition
selon ton application...

Sur l'événement Clic dans ton formulaire contenant le "calendar"
'------------------------------------
Dim LaDate As Date
LaDate = Userform1.Calendar1.value
'Tu retiens le format date de ton choix
With ActiveSheet
'enlève la protection du classeur
.parent.unprotect 'motdepasse au besoin
.name = Format(LaDate,"d-mm-yy")
.parent.protect 'motdepasse au besoin
end with
'------------------------------------




Je voudrais rendre visible un objet calendar sur une feuille, en double
cliquant sur son onglet.
Cela me permettrait de contraindre l'utilisateur à nommer la feuille de
la date qu'il choisit.
La fonction ci-dessous remplaçant les "/" par "_"

Function date_Feuille_Interdits(mydate As String) As String
Dim date_seance As String
Dim i As Byte

If mydate = "" Then
Exit Function
Else
'Controle la date de la séance et remplace les caractères interdits
'par underscore.
For i = 1 To Len(mydate)
Select Case Mid(mydate, i, 1)
Case ":", "", "/", "*", "?", "[", "]"
date_seance = Replace(mydate, Mid(mydate, i, 1), "_", 1, -1,
vbTextCompare)
date_Feuille_Interdits = date_seance
Exit Function
Case Else
date_Feuille_Interdits = mydate
End Select
Next i
End If
End Function
Avatar
elect31
Merci j'essaye
elect
michdenis a écrit :
| Vous parait il possible qu'il existe, ou de créer, un évènement
| double-clic sur l'onglet d'une feuille?

Non.

Tu peux protéger le classeur (non la feuille). Ceci te donnera le
contrôle sur la possibilité de renommer les feuilles ou les
déplacer...

Tu peux utiliser l'événement "Activate" de la feuille pour afficher
l'objet "Calendar" en utilisant par exemple une condition à savoir
si l'onglet contient déjà une date ou non... ou une autre condition
selon ton application...

Sur l'événement Clic dans ton formulaire contenant le "calendar"
'------------------------------------
Dim LaDate As Date
LaDate = Userform1.Calendar1.value
'Tu retiens le format date de ton choix
With ActiveSheet
'enlève la protection du classeur
.parent.unprotect 'motdepasse au besoin
.name = Format(LaDate,"d-mm-yy")
.parent.protect 'motdepasse au besoin
end with
'------------------------------------




Je voudrais rendre visible un objet calendar sur une feuille, en double
cliquant sur son onglet.
Cela me permettrait de contraindre l'utilisateur à nommer la feuille de
la date qu'il choisit.
La fonction ci-dessous remplaçant les "/" par "_"

Function date_Feuille_Interdits(mydate As String) As String
Dim date_seance As String
Dim i As Byte

If mydate = "" Then
Exit Function
Else
'Controle la date de la séance et remplace les caractères interdits
'par underscore.
For i = 1 To Len(mydate)
Select Case Mid(mydate, i, 1)
Case ":", "", "/", "*", "?", "[", "]"
date_seance = Replace(mydate, Mid(mydate, i, 1), "_", 1, -1,
vbTextCompare)
date_Feuille_Interdits = date_seance
Exit Function
Case Else
date_Feuille_Interdits = mydate
End Select
Next i
End If
End Function