Ligne de Code pour "Si Trouve pas Fichier" alors Exit Sub + 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

Chris.
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
h2so4
Le #24080961
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
.
h2so4
Le #24081231
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
.
Publicité
Poster une réponse
Anonyme