VBA comment récupérer les données de plusieurs fichiers excel.
Fermé
icecube
-
3 janv. 2018 à 14:45
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 4 janv. 2018 à 11:57
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 4 janv. 2018 à 11:57
A voir également:
- Récupérer des données dans plusieurs fichiers excel
- Liste déroulante excel - Guide
- Recuperer message whatsapp supprimé - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Recuperer video youtube - Guide
- Renommer plusieurs fichiers en même temps - Guide
3 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 714
3 janv. 2018 à 16:07
3 janv. 2018 à 16:07
Bonjour,
Il te faut faire une boucle sur SelectedItems(x) avec x = 1 to SelectedItems.count pour récupérer tous les classeurs choisis.
Il te faut faire une boucle sur SelectedItems(x) avec x = 1 to SelectedItems.count pour récupérer tous les classeurs choisis.
bonjour, merci pour ta réponse!
est ce que tu peux intégrer cet boucle dans ma macro, car je suis très mauvais lorsqu'il faut écrire des boucles.
merci
est ce que tu peux intégrer cet boucle dans ma macro, car je suis très mauvais lorsqu'il faut écrire des boucles.
merci
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 714
3 janv. 2018 à 17:43
3 janv. 2018 à 17:43
Bonsoir,
Ta macro avec la boucle :
Ta macro avec la boucle :
Option Explicit Sub ouvrirtest() Application.EnableEvents = False Dim wbsrc As Excel.Workbook ' déclarer le fichier source Dim wbtrg As Excel.Workbook ' déclarer le fichier detinataire Dim ws As Excel.Worksheet ' declarer les feuil Dim wk As Excel.Worksheet ' declarer les feuil Dim intChoice As Integer 'Déclarer les variables de base Dim fic As Integer Application.ScreenUpdating = False Application.Cursor = xlWait With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = True intChoice = .Show If intChoice <> 0 Then Set wbtrg = ThisWorkbook ' dire que c'est sur ce fichier que je travail Set ws = wbtrg.Worksheets("Feuil1") ' coller le resultat dans la feuil source du fichier destinataire For fic = 1 To .SelectedItems.Count Workbooks.Open .SelectedItems(fic) Set wbsrc = ActiveWorkbook Set wk = wbsrc.Worksheets("CODAX") ' lancer le filtre sur la colonne 4 wk.Range("A6:T400").AutoFilter Field:=3, Criteria1:=RGB(130, 190, 0), Operator:=xlFilterCellColor wk.Range("A6:W400").Copy ' copie le résultat du filtre ws.Cells(ws.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Paste wbsrc.Close savechanges:=False ' fermer le fichier source Next fic ws.Columns("A:T").ColumnWidth = 15 ws.Rows("1:1").RowHeight = 70 ws.Rows("2:100").RowHeight = 15 Set ws = Nothing Set wbsrc = Nothing Set wbtrg = Nothing Else MsgBox "La procédure est annulée car aucun fichier n’a été entré." Exit Sub End If End With Application.ScreenUpdating = True Application.Cursor = xlDefault Application.EnableEvents = True MsgBox "Import terminé" End Sub
bonjour,
je te remercie beaucoup pour le code, ça marche nickel.
très content merci beaucoup
désolé pour la réponse tardive. ;)
je te remercie beaucoup pour le code, ça marche nickel.
très content merci beaucoup
désolé pour la réponse tardive. ;)
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 714
4 janv. 2018 à 11:57
4 janv. 2018 à 11:57
Merci du retour et bonne continuation