Bonjour tout le monde, bonjour le forum,
J'ai un petit code qui importe les feuilles de tous les fichiers appartenant à un même dossier. Dans la mesure du possible il faudrait qu'une MsgBox indique que la feuille "pos" n'existe pas dans le classeur qui vient d'être ouvert par la boucle (en citant son nom dans la MsgBox) si elle n'existe pas. Concrètement, tous les classeurs appartenant au dossier DataPositions ont chacun une seule et unique feuille qui s'appelle "pos". Si il n'y a pas d'erreur le code actuel fait l'affaire en important les feuilles sur le classeur principal. Par contre si un classeur "X" n'a pas de feuille "pos" il faudrait que la MsgBox indique : "the pos has not been found for the X".
Est-ce faisable ?
Excellente journée à vous
Sub import()
Dim FileName As String
Dim Wkb As Workbook
Dim Path As String
Dim WS As Worksheet
myPath = "/Users/DataPositions/"
myExtension = "*.xls*"
'Target Path with Ending Extention
myFile = Dir(myPath & myExtension)
'Loop through each Excel file in folder
Do While myFile <> ""
'Set variable equal to opened workbook
Set Wkb = Workbooks.Open(FileName:=myPath & myFile)
'Ensure Workbook has opened before moving on to next line of code
DoEvents
'To do
For Each WS In Wkb.Worksheets
WS.Copy , ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = Split(Wkb.Name, ".")(0)
Next WS
'Save and Close Workbook
Wkb.Close SaveChanges:=False
DoEvents
'Get next file name
myFile = Dir
Loop
End Sub