Modèle

Bonjour,

J'ai un code qui teste l'emplacement du fichier à l'ouverture, ce dernier fonctionne très bien en ".xls"

Quand j'enregistre mon fichier en tant que modèle ".xlt", j'ai le msgbox qui se met en route alors que l'emplacement est bien le bon.

le modèle et le classeur d'origine se trouvant même côte à côte dans le dossier...

Je ne comprend pas du tout pourquoi

quelqu'un pourrait-il m'expliquer?

Merci

Le code :

Private Sub Workbook_Open()
Dim chemin As String
chemin = Workbooks(ActiveWorkbook.Name).Path
If chemin <> "Bla bla" Then
MsgBox "Vous ne pouvez extraire la demande du Partages. Merci d'utiliser celle se trouvant sous S:\Bla bla"
Workbooks(ActiveWorkbook.Name).Close False
Else
Sheets("Feuil1").Label5.Caption = "Délai souhaité des travaux:"
End If
End Sub

Salut,

Selon moi, ton problème vient du fait que tu ouvres un fichier xls à partir d’un fichier xlt et que ce fichier xls (soit le fichier actif, donc ActiveWorkbook) n’a pas encore de chemin défini.

D’ailleurs, si tu places une instruction MsgBox(Chemin) juste après la ligne chemin = Workbooks(ActiveWorkbook.Name).Path, si ta macro est enregistrée dans un fichier xls, tu auras le chemin visible dans le MsgBox, mais si ta macro est enregistrée dans un fichier xlt, ton MsgBox sera vide lors de l’ouverture de ton fichier nouvellement créé.

Maintenant je dois t’avouer que je ne comprends pas du tout l’intérêt de tester l’emplacement d’un fichier à l’ouverture et d’en empêcher l’utilisation suivant sa position. Pourquoi ne pas plutôt forcer l’enregistrement du nouveau fichier créé sur la base du modèle xlt à l'endroit que tu désires ?

De plus, est-ce que l’instruction chemin = ActiveWorkbook.Path ne suffirait pas à la place de chemin = Workbooks(ActiveWorkbook.Name).Path ?

Cordialement.

Rechercher des sujets similaires à "modele"