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

report de données dans un autre classeur

  • Initiateur de la discussion Initiateur de la discussion JJB
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JJB

XLDnaute Nouveau
Bonsoir à tous et à toutes,
Pour le job, je dois concevoir une application qui me pose quelques soucis. En cherchant dans le forum, j'ai déjà trouvé des idées qui m'ont bien aidé (un grand merci aux champions d'Excel et de VBA 🙂) mais là je coince et je commence à être aux aguets question délai..donc votre aide serait plus que bienvenue.
Je dois reporter dans un classeur à part certaines cellules de la dernière ligne de chaque feuille de 26 classeurs. Le nombre de lignes est variable, le nombre de feuilles par classeur aussi.
J'ai pensé commencer par faire un résumé pour chaque classeur mais ne sais pas comment faire maintenant pour collecter le contenu des divers "résumé" et les mettre à la suite les un des autres dans mon fichier final.
Je précise que je travaille en version 2000 et suis archi débutante en VBA.
En annexe fichier exemple.
D'avance un grand merci
JJ
 

Pièces jointes

  • B.zip
    B.zip
    42.1 KB · Affichages: 41
  • B.zip
    B.zip
    42.1 KB · Affichages: 61
  • B.zip
    B.zip
    42.1 KB · Affichages: 42
Re : report de données dans un autre classeur

bonsoir,

test cette macro:

Code:
Sub essai()
For fichier_n = 2 To Workbooks.Count
    For feuille_n = 1 To Workbooks(fichier_n).Sheets.Count
        With Workbooks(fichier_n).Sheets(feuille_n)
        '-------- ici on récupère la dernière ligne -------
            dat = .Range("a65536").End(xlUp).Value
            libellé = .Range("c65536").End(xlUp).Value
            visa = .Range("g65536").End(xlUp).Value
        End With
        With ThisWorkbook.Sheets("Résumé B")
        '------- ici on écrit les données ---------
            .Range("h65536").End(xlUp).Offset(1, 0).Value = libellé
            .Range("i65536").End(xlUp).Offset(1, 0).Value = visa
            .Range("j65536").End(xlUp).Offset(1, 0).Value = dat
        End With
    Next
Next
End Sub

Pour que celà fonctionne correctement, le 1er fichier ouvert doit être "B.xls" (qui contient la macro), puis tu ouvres les autres fichiers. Ensuite lance la macro.

En espérant avoir compris,

A+

PS: vide les colonnes H,I et J du fichier "B.xls"avant de commencer.
 
Dernière édition:
Re : report de données dans un autre classeur

Merci de ta réponse Skoobi,
je teste dès que possible et te tiens au courant (là, c'est un peu tard pour moi pour faire travailler mes neurones avec du Vba ;-)
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
363
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…