Sub recuperedatamatrice()
'déclarations des variables
Dim listefichier As Variant
Dim MonClasseur As Workbook
Dim Tab1() As Variant 'pour la colonne "Matricule"
Dim Tab2() As Variant 'pour les colonnes AbsenceRetard==>Motifs
'on désactive le Raffraichissement de l'écran
Application.ScreenUpdating = False
'en récupére les fichiers des données à copier
listefichier = Application.GetOpenFilename(Title:="selectionner votre classeur", filefilter:="fichiers Excel(*.xls*),*xls*", Buttontext:="cliquer")
'prévoir le cas du bouton annuler
If listefichier = False Then GoTo fin
'on affecte le fichier sélectionner
Set MonClasseur = Application.Workbooks.Open(listefichier)
'on copies les données de la feuille du classeur sélectionné
With MonClasseur.Sheets("Matrice")
LastLine = .Range("C" & .Rows.Count).End(xlUp).Row 'dernière ligne NON vide de la colonne C
Tab1 = .Range("C14:C" & LastLine).Value 'on met toutes les données de la colonne C dans Tab1
Tab2 = .Range("N14:AE" & LastLine).Value 'on met toutes les données des colnnes N à AE dans Tab2
End With
'on colle les données dans la feuille active
ThisWorkbook.ActiveSheet.Range("C8").Resize(UBound(Tab1, 1), 1) = Tab1
ThisWorkbook.ActiveSheet.Range("N8").Resize(UBound(Tab2, 1), UBound(Tab2, 2)) = Tab2
'on désactive les messages d'alerte de microsoft
Application.DisplayAlerts = False
'on ferme le classeur source
MonClasseur.Close
fin:
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub