Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Extraire données Excel

Vadg

XLDnaute Nouveau
Bonjour,

Je souhaiterai extraire 2 données de plusieurs fichiers Excel qui se trouvent toutes sur les mêmes cellules (D16 et E16) pour les rapatrier sur un autre fichier.

Merci de votre aide !!

Vadim
 
Solution
Bonjour Vadg, bienvenue sur XLD, JM,

Oui c'est un problème classique, téléchargez les 3 fichiers joints dans le même dossier.

La macro affectée au bouton :
VB:
Sub Importer()
Dim chemin$, fichier$, feuille$, adr1$, adr2$, dest As Range, n&, f$
chemin = ThisWorkbook.Path & "\" 'dossier à adapter
fichier = Dir(chemin & "*.xlsx") '1er fichier du dossier
feuille = "Feuil1" 'nom de toutes les feuilles sources
adr1 = "R16C4" '1ère cellule source en notation R1C1
adr2 = "R16C5" '2ème cellule source en notation R1C1
Set dest = [A2] '1ère cellule de destination, à adapter
Application.ScreenUpdating = False
dest.Resize(Rows.Count - dest.Row + 1, 3).ClearContents 'RAZ
While fichier <> ""
    n = n + 1
    dest(n) = fichier
    f = "'" & chemin &...

job75

XLDnaute Barbatruc
Bonjour Vadg, bienvenue sur XLD, JM,

Oui c'est un problème classique, téléchargez les 3 fichiers joints dans le même dossier.

La macro affectée au bouton :
VB:
Sub Importer()
Dim chemin$, fichier$, feuille$, adr1$, adr2$, dest As Range, n&, f$
chemin = ThisWorkbook.Path & "\" 'dossier à adapter
fichier = Dir(chemin & "*.xlsx") '1er fichier du dossier
feuille = "Feuil1" 'nom de toutes les feuilles sources
adr1 = "R16C4" '1ère cellule source en notation R1C1
adr2 = "R16C5" '2ème cellule source en notation R1C1
Set dest = [A2] '1ère cellule de destination, à adapter
Application.ScreenUpdating = False
dest.Resize(Rows.Count - dest.Row + 1, 3).ClearContents 'RAZ
While fichier <> ""
    n = n + 1
    dest(n) = fichier
    f = "'" & chemin & "[" & fichier & "]" & feuille & "'!"
    dest(n, 2) = ExecuteExcel4Macro(f & adr1)
    dest(n, 3) = ExecuteExcel4Macro(f & adr2)
    fichier = Dir 'fichier suivant du dossier
Wend
End Sub
A+
 

Pièces jointes

  • Importer(1).xlsm
    17.3 KB · Affichages: 15
  • Source1.xlsx
    9.3 KB · Affichages: 9
  • Source2.xlsx
    9.3 KB · Affichages: 8

Vadg

XLDnaute Nouveau
Je me permets de revenir vers vous étant donné que la macro ne fonctionne pas mais à mon avis pour une raison que je n'avais évoqué dans mon post, les données à rappatrier sont des sommes d'autres cellules du classeur.

Existe t il une solution dans ce cas ?

Merci encore
 

Staple1600

XLDnaute Barbatruc
Re

•>Vadg
Je me permets d'intervenir (job75 n'étant pas dans les parages)
Tes classeurs Excel ont quelle extension?
*.xlsx ? ou autre ?

Et qu'est-ce que tu entends par: ne fonctionne pas ?
 

Vadg

XLDnaute Nouveau
mais la question que je me pose est de savoir s'il est possible de rapatrier des données qui sont des résultats de fonction (en l’occurrence somme) ? faut-il adapter la macro dans ce cas ?
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…