Bonjour,
Sur une feuille excel je dispose d'un bouton, en appuyant sur celui-ci, un autre fichier excel doit s'ouvrir. Pour l'instant avec le code que j'ai: je vérifie que mon fichier ne soit pas déjà ouvert, si il est bien fermé alors je vérifie qu'il soit dans le même dossier que le fichier excel actuellement ouvert, si c'est le cas je l'ouvre si ce n'est pas le cas j'ouvre l'explorateur windows pour le trouver. Mon problème c'est que je peux ouvrir tous les fichiers excel qu'il y a, je n'ai aucune restriction par rapport au nom du fichier. Comment y puis je remédier ?
Je vous joins le code. Pour information si le fichier est déjà ouvert, le fichier propose de le fermer pour l'ouvrir de nouveau (ligne de code pas jointe).
Merci d'avance.
Sur une feuille excel je dispose d'un bouton, en appuyant sur celui-ci, un autre fichier excel doit s'ouvrir. Pour l'instant avec le code que j'ai: je vérifie que mon fichier ne soit pas déjà ouvert, si il est bien fermé alors je vérifie qu'il soit dans le même dossier que le fichier excel actuellement ouvert, si c'est le cas je l'ouvre si ce n'est pas le cas j'ouvre l'explorateur windows pour le trouver. Mon problème c'est que je peux ouvrir tous les fichiers excel qu'il y a, je n'ai aucune restriction par rapport au nom du fichier. Comment y puis je remédier ?
Je vous joins le code. Pour information si le fichier est déjà ouvert, le fichier propose de le fermer pour l'ouvrir de nouveau (ligne de code pas jointe).
Merci d'avance.
Code:
On Error Resume Next 'test pour vérifier que le fichier "XXXX" n'est pas déjà ouvert
Windows("XXXX.xls").Activate
If Err <> 0 Then
NomFichierXXXX = Dir$(ThisWorkbook.Path + "\XXXX.xls", vbNormal)
If NomFichierXXXX <> "" Then 'Test existence fichier XXXX sur le réseau
Workbooks.Open Filename:=NomFichierXXXX
Else
NomFichierXXXX = Application.GetOpenFilename(FileFilter:="Fichiers Excel (*.xl*), *.xl*", Title:="Choix du fichier XXXX")
If NomFichierXXXX <> False Then
Workbooks.Open (NomFichierXXXX) 'sinon boite de dialogue d'ouverture de fichier
End If
End If