Ligne de Code pour "Si Trouve pas Fichier" alors Exit Sub + message
Le
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
Chris.
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
Chris.
voici ce que je te propose.
Sub OuvertureFichiers()
Dim Chemin, Fichier, Aire, NomFichier, NomFeuille, NomceFichier As
String
Dim NoAnnee, NoMois, Derlig, ctr as Integer, ctra 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)
ctra = ctra + 1
If Fichier = "" Then
MsgBox NomFichier & " non trouvé"
Else
ctr = ctr + 1
Set Wk = Workbooks.Open(CheminComplet & NomFichier)
Windows(NomceFichier).Activate
End If
Next
Sheets("Menu").Select
MsgBox " Ouverture de " & ctr & " / " & ctra & " Fichiers effectuée "
& Environ("username"), _
vbInformation, " Message "
End Sub
--
h2so4
ca PAN
pique DORA
.
voila un code modifié
h2so4 expressed precisely :
' saches que seul nomcefichier est défini comme string, toutes les
autres variables sur cette ligne sont définies comme variant
' même chose ici, seul ctr est défini comme integer
end
--
h2so4
ca PAN
pique DORA
.