Option Explicit
Dim Fichier As Variant
Dim nomfichier As String
Dim wbo1 As Workbook
Dim wso1 As Worksheet, wso2 As Worksheet
Sub copiedonnées()
Dim Sh As Worksheet
Dim plage1 As Range
Dim plage2 As Range
Dim dl1 As Long ' dernière ligne
Dim dld As Long ' dernière ligne
Dim wbsd As Worksheet
'Set wbsd = Workbooks(ActiveWorkbook.Name & ".xls").Sheets(ActiveSheet.Name)
Set wbsd = Workbooks(ActiveWorkbook.Name).Sheets(ActiveSheet.Name)
ouvrirfichier1
Application.ScreenUpdating = False 'gele l'ecran
Application.DisplayAlerts = False 'interdit les messages d'avertissements
For Each Sh In wbo1.Worksheets
If Sh.Name <> "Fctnmt" Then
Set wso1 = wbo1.Sheets(Sh.Name)
dld = wbsd.Cells(wbsd.Rows.Count, 2).End(xlUp).Row + 2
wbsd.Range("b" & dld) = " Feuille " & Sh.Name
dld = wbsd.Cells(wbsd.Rows.Count, 2).End(xlUp).Row + 1
With wso1
dl1 = .Cells(.Rows.Count, 2).End(xlUp).Row
Set plage1 = wso1.Range("a2:d" & dl1)
plage1.Copy
wbsd.Range("a" & dld).PasteSpecial Paste:=xlPasteValues
End With
End If
Next Sh
wbo1.Close
Application.ScreenUpdating = True 'gele l'ecran
Application.DisplayAlerts = True 'interdit les messages d'avertissements
End Sub
Private Sub ouvrirfichier1()
Dim i As Integer
Dim Sh As Worksheet
Dim classeur As Workbook
Dim tablo() As String
'La variable est de type Variant car elle peut prendre les valeurs:
'Booleenne: (Vrai/Faux) quand l'utilisateur ne sélectionne rien, ou annule l'opération.
'String: pour renvoyer le nom du fichier sélectionné.
'Affiche la boîte de dialogue "Ouvrir"
Fichier = Application.GetOpenFilename("Tous les fichiers (*.xls),*.xls")
'On sort si aucun fichier n'a été sélectionné ou si l'utilisateur
'a cliqué sur le bouton "Annuler", ou sur la croix de fermeture.
If Fichier = False Then Exit Sub
'Workbooks.Open Filename:=Fichier
tablo = Split(Fichier, "\")
'Affiche le chemin et le nom du fichier sélectionné.
Set classeur = GetObject(Fichier)
'Set classeur = GetObject(Fichier)
Set wbo1 = Workbooks(tablo(UBound(tablo))) '
End Sub