bonjour,
j'importe des onglets grace a cette macro le probleme est que je les nommes comme le fichier dont ils prviennent.
parfois le nom est trop long et cela plante
j'ai essayer un début de piste If WbkB(Len(Fichier.Value) > 32) Then
mais cela dépasse mes compétences , une idée
cordialement
Dim chemin As String, Fichier As String
Dim WbkA As String ' Nom de ce fichier
Dim WbkB As String ' Nom du fichier ouvert
Application.ScreenUpdating = False
WbkA = ThisWorkbook.Name
chemin = Sheets("a").Range("A1").Value"
Fichier = Dir(chemin & "*.xls") ' 1er fichier 'Fichier = Dir(chemin & "*.xl*")
Do While (Len(Fichier) > 0)
If Mid(Fichier, InStrRev(Fichier, ".")) = ".xls" Then
If Fichier <> ThisWorkbook.Name Then
Workbooks.Open chemin & Fichier
WbkB = ActiveWorkbook.Name
Workbooks(WbkB).Sheets(1).Copy before:=Workbooks(WbkA).Sheets(1)
' On Error Resume Next
If Err.Number = 0 Then
ActiveSheet.Name = WbkB
Else
ActiveSheet.Name = WbkB
End If
Workbooks(WbkB).Close savechanges:=False
'ActiveWorkbook.Close
End If
End If
Fichier = Dir() ' fichier suivant
Loop