Ligne de Code pour "Si trouve pas fichier" Then Exit Sub avec message

Le
stormtroopertk1230 Hors ligne
Bonjour,

Je voudrai rajouter quelques lignes de codes dans ma macro à savoir que, si le fichier n'existe pas alors la macro continue mais m'averti par un message "Fichier non trouvé"
Ma macro ci-jointe fonctionne.

Sub OuvertureFichiers()

Dim Chemin, Fichier, Aire, NomFichier, NomFeuille, NomceFichier As String
Dim NoAnnee, NoMois, Derlig As Integer
Dim Wb As Workbook

For i = 12 To 13

Chemin = "Mes Documents"
NoAnnee = Sheets("Menu").Cells(9, 3).Value
NoMois = Sheets("Menu").Cells(10, 3).Value
NomceFichier = Sheets("Menu").Cells(11, 3).Value
Repertoire = NoMois
CheminComplet = Chemin & Repertoire & ""
Aire = Sheets("Menu").Cells(i, 3).Value
NomFeuille = "Feuille de temps mensuelle"

NomFichier = "Feuille_de_temps" & Aire & NoMois & NoAnnee & ".xlsm"
Fichier = Dir(CheminComplet & NomFichier)
Set Wk = Workbooks.Open(CheminComplet & NomFichier)
Windows(NomceFichier).Activate

Next

Sheets("Menu").Select
MsgBox " Ouverture des Fichiers effectuée " & Environ("username"), vbInformation, " Message "
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #24077411
Bonjour,

Fichier = Dir(CheminComplet & NomFichier)
if Fichier = "" then Msgbox "message"

Cordialement.
Daniel

Bonjour,

Je voudrai rajouter quelques lignes de codes dans ma macro à savoir que, si
le fichier n'existe pas alors la macro continue mais m'averti par un message
"Fichier non trouvé"
Ma macro ci-jointe fonctionne.

Sub OuvertureFichiers()

Dim Chemin, Fichier, Aire, NomFichier, NomFeuille, NomceFichier As String
Dim NoAnnee, NoMois, Derlig As Integer
Dim Wb As Workbook

For i = 12 To 13

Chemin = "Mes Documents"
NoAnnee = Sheets("Menu").Cells(9, 3).Value
NoMois = Sheets("Menu").Cells(10, 3).Value
NomceFichier = Sheets("Menu").Cells(11, 3).Value
Repertoire = NoMois
CheminComplet = Chemin & Repertoire & ""
Aire = Sheets("Menu").Cells(i, 3).Value
NomFeuille = "Feuille de temps mensuelle"

NomFichier = "Feuille_de_temps" & Aire & NoMois & NoAnnee & ".xlsm"
Fichier = Dir(CheminComplet & NomFichier)
Set Wk = Workbooks.Open(CheminComplet & NomFichier)
Windows(NomceFichier).Activate

Next

Sheets("Menu").Select
MsgBox " Ouverture des Fichiers effectuée " & Environ("username"),
vbInformation, " Message "
End Sub
MichD
Le #24077591
Bonjour,

Ta macro contient déjà la ligne de code :

if Dir(CheminComplet & NomFichier) = "" then
MsgBox "Ce fichier """ & NomFichier & """ n'existe pas dans ce répertoire """ & CheminComplet & """."
End if

Dans ta procédure, cette section pourrait ressembler à ceci :

If Dir(CheminComplet & NomFichier) <> "" Then
Set Wk = Workbooks.Open(CheminComplet & NomFichier)
Windows(NomceFichier).Activate
'Et les actions à effectuer sur le fichier ouvert
else
MsgBox "Ce fichier """ & NomFichier & """ n'existe pas dans ce répertoire """ & CheminComplet & """."
End If


MichD
------------------------------------------
"stormtroopertk1230" a écrit dans le message de groupe de discussion :

Bonjour,

Je voudrai rajouter quelques lignes de codes dans ma macro à savoir que, si le
fichier n'existe pas alors la macro continue mais m'averti par un message
"Fichier non trouvé"
Ma macro ci-jointe fonctionne.

Sub OuvertureFichiers()

Dim Chemin, Fichier, Aire, NomFichier, NomFeuille, NomceFichier As String
Dim NoAnnee, NoMois, Derlig As Integer
Dim Wb As Workbook

For i = 12 To 13

Chemin = "Mes Documents"
NoAnnee = Sheets("Menu").Cells(9, 3).Value
NoMois = Sheets("Menu").Cells(10, 3).Value
NomceFichier = Sheets("Menu").Cells(11, 3).Value
Repertoire = NoMois
CheminComplet = Chemin & Repertoire & ""
Aire = Sheets("Menu").Cells(i, 3).Value
NomFeuille = "Feuille de temps mensuelle"

NomFichier = "Feuille_de_temps" & Aire & NoMois & NoAnnee & ".xlsm"
Fichier = Dir(CheminComplet & NomFichier)
Set Wk = Workbooks.Open(CheminComplet & NomFichier)
Windows(NomceFichier).Activate

Next

Sheets("Menu").Select
MsgBox " Ouverture des Fichiers effectuée " & Environ("username"),
vbInformation, " Message "
End Sub
Publicité
Poster une réponse
Anonyme