Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ligne de Code pour "Si Trouve pas Fichier" alors Exit Sub + message

2 réponses
Avatar
stormtroopertk1230
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.

2 réponses

Avatar
h2so4
stormtroopertk1230 brought next idea :

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
.
Avatar
h2so4
je n'avais pas lu la demande précise qui se trouve dans le titre, donc
voila un code modifié


h2so4 expressed precisely :
stormtroopertk1230 brought next idea :

voici ce que je te propose.


Sub OuvertureFichiers()

Dim Chemin, Fichier, Aire, NomFichier, NomFeuille, NomceFichier As String


' saches que seul nomcefichier est défini comme string, toutes les
autres variables sur cette ligne sont définies comme variant
Dim NoAnnee, NoMois, Derlig, ctr as Integer


' même chose ici, seul ctr est défini comme 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)

If Fichier = "" Then
MsgBox NomFichier & " non trouvé"


end
End if
ctr = ctr + 1
Set Wk = Workbooks.Open(CheminComplet & NomFichier)
Windows(NomceFichier).Activate


Next

Sheets("Menu").Select
MsgBox " Ouverture de " & ctr & " Fichiers effectuée " &
Environ("username"), _
vbInformation, " Message "

End Sub



--
h2so4
ca PAN
pique DORA
.