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

XL 2016 Récupérer le contenu de cellule par VBA

telemarrk

XLDnaute Occasionnel
Bonjour,

Je voulais savoir si par le biais d'un code VBA, on peut remplir les cellules d'un tableau en allant chercher les infos sur d'autres fichiers Excel.

Explication :

J'ai un fichier général "TEST" et 4 fichiers : SGCS - SGST - SGINFORMAT - SGCULTURE

Je voudrais mettre dans mon tableau TEST le contenu des cellules L6 et M6 des quatre fichiers.

Je vous joins le fichier test et deux fichiers

Merci
 

Pièces jointes

  • test.xlsx
    8.2 KB · Affichages: 5
  • sgcs.xlsx
    8.2 KB · Affichages: 6
  • sgst.xlsx
    8.2 KB · Affichages: 5
Dernière édition:

telemarrk

XLDnaute Occasionnel
Sylvanu,

j'ai supprimer mes fichiers et je n'ai garder que le fichier TEST(V5).

J'ai recréé les fichiers (SGCS - SGCULTURE....) et je ne sais pas pourquoi maintenant cela fonctionne

Merci pour ton aide et encore désolé de t'avoir faire plusieurs manip.

Bonne soirée
 

job75

XLDnaute Barbatruc
Bonjour telemarrk, le forum,

Téléchargez les fichiers joints dans le même dossier et voyez cette macro :
VB:
Private Sub Workbook_Activate()
Dim chemin$, fichier$, feuille$, lig&, form$, h&
chemin = ThisWorkbook.Path & "\" 'dossier commun
fichier = Dir(chemin & "SG*.xlsx") '1er fichier du dossier
feuille = "Feuil1" 'nom des feuilles
lig = 2 '1ère ligne de restitution
Application.ScreenUpdating = False
Range("K" & lig & ":M" & Rows.Count).ClearContents 'RAZ
While fichier <> ""
    form = "'" & chemin & "[" & fichier & "]" & feuille & "'!"
    h = ExecuteExcel4Macro("MATCH(""zzz""," & form & "C12)")
    If h > 1 Then
        Cells(lig, 11).Resize(h - 1) = fichier
        With Cells(lig, 12).Resize(h - 1, 2)
            .FormulaArray = "=""""&" & form & "L2:M" & h 'formule matricielle
            .Value = .Value 'supprime la formule
        End With
        lig = lig + h - 1
    End If
    fichier = Dir 'fichier suivant
Wend
End Sub
Elle se déclenche quand on ouvre le fichier .xlsm ou qu'on l'active.

Comme on le voit les fichiers SG restent fermés.

A+
 

Pièces jointes

  • SG02.xlsx
    9.9 KB · Affichages: 5
  • SG01.xlsx
    9.8 KB · Affichages: 5
  • Consolidation.xlsm
    15.9 KB · Affichages: 5

telemarrk

XLDnaute Occasionnel
Cela fonctionne.

Par contre, j'ai essayé d'adapter ton code sur mon fichier, mais cela ne fonctionne pas, j'ai mis le mot "factures" à la place de "feuil1" car dans mon fichier l'onglet se nomme ainsi, mais cela ne va pas.

Dans mon fichier ça commence en L6 et M6

Je te joins une capture d'écran si cela ne te dérange pas

En tout cas merci
 

Pièces jointes

  • test.jpg
    177.5 KB · Affichages: 6

telemarrk

XLDnaute Occasionnel
job75,

Désolé pour le retard mais j'ai fini plus tard le travail.

Je voudrais dons avoir dans le fichier consolidation le contenu des cellules L et M des deux autres fichiers

Merci
 

Pièces jointes

  • SGCULTURE.xlsm
    18.9 KB · Affichages: 3
  • SGCS.xlsm
    18.9 KB · Affichages: 2
  • Consolidation.xlsm
    18.8 KB · Affichages: 2
  • 04-SGCS-AUCHAN-76680-FL-(25).pdf
    40.8 KB · Affichages: 3
  • 03-SGCS-AUCHAN-6673-I-(2 454).pdf
    6.9 KB · Affichages: 2
  • 02-SGCS-API-90871-FL-(200).pdf
    255.3 KB · Affichages: 3
  • 01-SGCULTURE-API-90861-F-(1 500 000).pdf
    255.5 KB · Affichages: 1
  • 00-SGCULTURE-AUCHAN-45-F-(164,10).pdf
    28.1 KB · Affichages: 1

telemarrk

XLDnaute Occasionnel
j'ai mis les fichiers pdf pour comprendre le tableau que je suis entrain de réaliser mais si tu préfères sans

je joins les fichiers XLMS
 

Pièces jointes

  • Consolidation.xlsm
    11.7 KB · Affichages: 1
  • SGCS.xlsm
    11.8 KB · Affichages: 1
  • SGCULTURE.xlsm
    11.7 KB · Affichages: 1

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…