Ignorer l'absence d'un fichier
Résolu
Nai
Messages postés
765
Statut
Membre
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
Bonsoir,
J'ai une belle macro qui me met en cache (enfin, je pense) un tableau nommé bdd.xlsx.
Ce fichier recense des noms, prénoms et dates de naissance d'enfants. Le fichier qui l'appelle est un fichier de pointage.
Lorsque j'ouvre le fichier de pointage, et que le fichier bdd n'est pas trouvé, j'ai un message d'erreur d'exécution 1004, normal.
Dans la mesure où les utilisateurs du fichier de pointage ne sont pas obligé d'utiliser la bdd, j'aimerais que :
Si la macro ne trouve pas bdd.xlsx
Alors il renvoie simplement un message d'information de type :
"Désolé mais la base de données n'a pas été trouvé."
Sans proposition de débogage... Juste un petit : Ok. Le débogage afficherait du code, non protégé, et l'utilisateur risquerait de faire des bêtises.
Voici le code de la macro en question :
Merci d'avance pour votre aide ! :)
J'ai une belle macro qui me met en cache (enfin, je pense) un tableau nommé bdd.xlsx.
Ce fichier recense des noms, prénoms et dates de naissance d'enfants. Le fichier qui l'appelle est un fichier de pointage.
Lorsque j'ouvre le fichier de pointage, et que le fichier bdd n'est pas trouvé, j'ai un message d'erreur d'exécution 1004, normal.
Dans la mesure où les utilisateurs du fichier de pointage ne sont pas obligé d'utiliser la bdd, j'aimerais que :
Si la macro ne trouve pas bdd.xlsx
Alors il renvoie simplement un message d'information de type :
"Désolé mais la base de données n'a pas été trouvé."
Sans proposition de débogage... Juste un petit : Ok. Le débogage afficherait du code, non protégé, et l'utilisateur risquerait de faire des bêtises.
Voici le code de la macro en question :
Private Sub Workbook_Open()
Dim derlig As Long
Workbooks.Open ThisWorkbook.Path & "\bdd.xlsx" 'la ligne qui pose problème
With Workbooks("bdd.xlsx").Sheets("Feuil1")
derlig = .Range("A" & Rows.Count).End(xlUp).Row
Sources = .Range("A2:C" & derlig).Value
End With
ActiveWorkbook.Close SaveChanges:=True
With Sheets("Feuille de présence")
.ListBox1.Visible = False
End With
supervision
End Sub
Merci d'avance pour votre aide ! :)
A voir également:
- Ignorer l'absence d'un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Message absence thunderbird - Guide
- Fichier rar - Guide
3 réponses
Bonjour,
meme chose:
meme chose:
Private Sub Workbook_Open()
Dim derlig As Long
On erreur GoTo sortie
Workbooks.Open ThisWorkbook.Path & "\bdd.xlsx" 'la ligne qui pose problème
With Workbooks("bdd.xlsx").Sheets("Feuil1")
derlig = .Range("A" & Rows.Count).End(xlUp).Row
Sources = .Range("A2:C" & derlig).Value
End With
ActiveWorkbook.Close SaveChanges:=True
With Sheets("Feuille de présence")
.ListBox1.Visible = False
End With
supervision
Exit Sub
sortie:
MsgBox "Désolé mais la base de données n'a pas été trouvé."
On Error GoTo 0
End Sub
Bonjour
On erreur GoTo sortie
Je sais, il faut lutter contre l'anglais envahissant... Mais je crois que ça marcherait mieux avec On Error
On erreur GoTo sortie
Je sais, il faut lutter contre l'anglais envahissant... Mais je crois que ça marcherait mieux avec On Error
Magnifique ! :D
J'en ai profité pour compléter le message d'information :
MsgBox "Désolé mais la base de données n'a pas été trouvé." & vbLf & "Pour utiliser une base de données, merci de placer le fichier bdd.xlsx dans le dossier <dossier actuel du fichier>."
La macro se débrouillerait pour me trouver le chemin du fichier de pointage :)
J'en ai profité pour compléter le message d'information :
MsgBox "Désolé mais la base de données n'a pas été trouvé." & vbLf & "Pour utiliser une base de données, merci de placer le fichier bdd.xlsx dans le même dossier que ce fichier."Juste pour savoir, est-ce qu'il est possible de mettre un message de ce type :
MsgBox "Désolé mais la base de données n'a pas été trouvé." & vbLf & "Pour utiliser une base de données, merci de placer le fichier bdd.xlsx dans le dossier <dossier actuel du fichier>."
La macro se débrouillerait pour me trouver le chemin du fichier de pointage :)