Workbook_open uniquement dans modèle

  • Initiateur de la discussion Initiateur de la discussion Cuicui
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

Cuicui

Guest
Bonjour à tous,

Je suis confronté à un problème concernant la macro workbook_open ().

Je cherche un moyen pour qu'elle ne s'applique qu'à mon modèle et non à tous les fichiers que je crée à partir de celui ci.

Ma macro est la suivante :

Private Sub Workbook_Open()

Range("D4").Value = CLng(Date) & "_" & Format(Time(), "HHMMSS")
Sheets("INFORMATION").Select

End Sub


N'ayant pas trouvé de solutionsn je m'en remet donc à vous.*

Merci d'avance.

Cuicui
 
Re : Workbook_open uniquement dans modèle

Bonsoir.
Si la cellule D4 de la feuille active au moment de l'enregistrement du modèle est vide ou contient un texte reconnaissable du genre "N°JOUR_HHMMSS" vous pouvez vérifier si elle n'est pas dans cet état et dans ce cas effectuer Exit Sub
P.S. Remarque: il vaudrait mieux préciser le CodeName de la feuille devant .Range("D4"]
À +
 
Dernière édition:
Re : Workbook_open uniquement dans modèle

Bonjour

une solution peut être de regarder si D4 est vide

un problème néanmoins, tu ne slélectionne information qu'après avoir écrit dans D4....sue quelle feuille??????

donc sinon

if sheets("xxx").range("D4").value="" then
...
...
endif

ne s'exécutera que que si la cellule est vide, donc à l'ouverture du modèle

tu peux aussi tester le nom du fichier

edit: salut DRANREB et bonne fin de WE
 
Re : Workbook_open uniquement dans modèle

Bonjour à tous, Une solution serait peut-être de contrôler le format du fichier. La fonction suivante renvoie un booléen :
  • TRUE si le classeur passé en paramètre est un modèle.
  • FALSE dans le cas contraire.
VB:
Public Function IsTemplate(wbk As Workbook) As Boolean     IsTemplate = wbk.FileFormat = XlFileFormat.xlOpenXMLTemplate Or _         wbk.FileFormat = XlFileFormat.xlOpenXMLTemplateMacroEnabled Or _         wbk.FileFormat = XlFileFormat.xlTemplate Or _         wbk.FileFormat = XlFileFormat.xlTemplate8 End Function
Du coup, il faudrait modifier la procédure à l'ouverture du classeur comme suit :
VB:
Private Sub Workbook_Open()  If IsTemplate(ThisWorkbook) Then     Range("D4").Value = CLng(Date) & "_" & Format(Time(), "HHMMSS")     Sheets("INFORMATION").Select End If  End Sub
A+
 
Re : Workbook_open uniquement dans modèle

Bonjour à tous,

Tout d'abord merci pour la rapidité de vos réponses.

Par flemmardise, j'ai essayé la solution la plus simple : celle de d'ERIC S et cela marche parfaitement 🙂

Un grand merci à Eric ainsi qu'aux autres bien évidemment.

Bon dimanche à vous et à bientôt pour un nouveau problème 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
586
C
Réponses
4
Affichages
1 K
cecenico
C
Réponses
5
Affichages
546
N
Réponses
5
Affichages
1 K
L
Réponses
9
Affichages
1 K
Réponses
10
Affichages
1 K
Retour