bonjour le forum, j'ai 2 Function que Pierre-Jean m'a donné il y a quelques années, pour le moment elles sont placées dans un module, et j'ai beaucoup de Sub qui passent par ces function sans que cela soit utile (perte de temps de réaction de la sub !) . puis je faire intervenir ces function avant la fermeture du classeur ?
Function fin_mois(LaDate)
If Month(LaDate) = 12 Then
m = "01"
y = Year(LaDate) + 1
Else
m = Month(LaDate) + 1
y = Year(LaDate)
End If
fin_mois = CDate("01/" & m & "/" & y) - 1
End Function
Function dernier_jour_ouvre(LaDate) ' sans travail ni dimanche ni lundi
For n = fin_mois(LaDate) To fin_mois(LaDate) - 7 Step -1
If Weekday(n) <> 1 And Weekday(n) <> 2 Then
dernier_jour_ouvre = n
Exit For
End If
Next
End Function
merci d'avance de vous pencher sur ce petit problème.
bonsoir Pierre-Jean, pour faire évoluer mon classeur, je fais du pas à pas, et, lors de l’exécution de certaines macro, elle passent ces Function avant de se terminer.
ThisWorkBook n'est pas un module standard.
Normalement, dans ThisWorkBook, on trouve les procédures événementielles.
Tout comme dans le code des feuilles.
ThisWorkBook n'est pas un module standard.
Normalement, dans ThisWorkBook, on trouve les procédures événementielles.
Tout comme dans le code des feuilles.
De quelle fonctionnalité tu parles?
Si tu parles d'avoir une fonction disponible pour tous les classeurs
Tu peux:
1) stocker tes fonctions dans Personal.xlsb
(le classeurs de macros personnelles)
2) ou les stocker dans un classeur "complément" que tu enregistras en *.xlam (à paramétrer dans Fichier/Options/Compléments/Gérer/Atteindre
et là Parcourir et tu pointes sur ton *.xlam
De quelle fonctionnalité tu parles?
Si tu parles d'avoir une fonction disponible pour tous les classeurs
Tu peux:
1) stocker tes fonctions dans Personal.xlsb
(le classeurs de macros personnelles)
2) ou les stocker dans un classeur "complément" que tu enregistras en *.xlam (à paramétrer dans Fichier/Options/Compléments/Gérer/Atteindre
et là Parcourir et tu pointes sur ton *.xlam
je parle de Function très utiles pour le classeur que je tente de faire évoluer en ce moment.
les voici :
Function fin_mois(LaDate)
If Month(LaDate) = 12 Then
m = "01"
y = Year(LaDate) + 1
Else
m = Month(LaDate) + 1
y = Year(LaDate)
End If
fin_mois = CDate("01/" & m & "/" & y) - 1
End Function
Function dernier_jour_ouvre(LaDate) ' sans travail ni dimanche ni lundi
For n = fin_mois(LaDate) To fin_mois(LaDate) - 7 Step -1
If Weekday(n) <> 1 And Weekday(n) <> 2 Then
dernier_jour_ouvre = n
Exit For
End If
Next
End Function
qui sont pour le moment dans un module et sont bizarrement "appelées" lors de l’exécution de certaines macro de mon classeur.
lors du déroulement de certaines de mes macros, elles passent par ces fonctions avant d'arriver à end sub.
je peux t'envoyer le classeur en question mais, il fait après un premier dégraissage, 1.73 Mo !