Récupérer des données dans plusieurs feuilles

  • Initiateur de la discussion Initiateur de la discussion René
  • 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 !

R

René

Guest
Bonjour , je suis débutant
Je dispose de 2 feuilles nommées XL001 et XL002 qui sont en fait 2 classeurs différents. Je souhaite récupérer les données qui se trouvent dans la zone A840: F849 de chaque feuille pour les transférer dans une 3ème feuille XL999.
Les données de XL001 sont transférées à partir de A1 dans XL999
Les données de XL002 sont transférées à partir de A10 dans XL999
Quelqu'un pourrait-il m'aider à créer cette macro automatique.
Merci bien. René
 
Bonjour René et à tous,

Pour faire ce que tu demandes, essaie ce code :

Sub Transfert()

Windows('NOM DU CLASSEUR 1.xls').Activate
Sheets('XL001').Select
range('A840:f849').select
Selection.Copy
Windows('NOM DU CLASSEUR QUI RECOIT.xls').Activate
Sheets('XL999').Select
Range('A1').Select
ActiveSheet.Paste


Windows('NOM DU CLASSEUR 2.xls').Activate
Sheets('XL002').Select
range('A840:F849').select
Selection.Copy
Windows('NOM DU CLASSEUR QUI RECOIT.xls').Activate
Sheets('XL999').Select
Range('A10').Select
ActiveSheet.Paste

End Sub


Celà ne marchera qu'une fois car on recopie toujours en A1 et en A10.

Si il faut rajouter les copies les unes en dessous des autres, il faudra utiliser ce code-ci:

Sub Transfert()

Windows('NOM DU CLASSEUR 1.xls').Activate
Sheets('XL001').Select
range('A840:f849').select
Selection.Copy
Windows('NOM DU CLASSEUR QUI RECOIT.xls').Activate
Sheets('XL999').Select
Range('A1').Select
Selection.End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste


Windows('NOM DU CLASSEUR 2.xls').Activate
Sheets('XL002').Select
range('A840:F849').select
Selection.Copy
Windows('NOM DU CLASSEUR QUI RECOIT.xls').Activate
Sheets('XL999').Select
Range('A10').Select
Selection.End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste

End Sub


Attention, dans ce cas il faut avoir dans XL999 les cellules A1 et A2 déjà remplies, sinon pour la première copie ça file une erreur.

J'espère que celà te conviendras.
Tiens-nous au courant.
A+
 
Merci Aguwar , je vais essayer dès ce soir et te ferais part du résultat.
Par contre je n'avais pas vu que tu avais répondu et comme j'étais un peu dans le pétrin j'ai remis un nouveau post plus précis.
Mais je pense que le tien devrait faire l'affaire.
Je reviens vers toi dès application.
Merci . René.
 
Bonsoir René et à tous,

Vérifie bien les noms des classeurs.
Ils doivent être ouverts tous les 3 et dans le même répertoire sinon il faut mettre entre les ' ' le chemin d'accès.

exemple:

Windows('D:\\Documents\\Saisie des Fiches.xls').Activate

J'espère que ça va aller.

A+
 
Re bonsoir,

je vois que le forum fait une allergie aux ant slashs, bien sur il faut en mettre sur le chemin pour séparer les répertoires.

Pour t'aider, j'ai fais 3 fichiers exemples qui marchent bien.

Une dézipés, tu les ouvrent tous les trois.
Tu vas dans 'QuiRecoit' et tu exécutes la macro 'Transfert' les 2 zones devraient s'ajouter en A3 et suivantes.

Tiens-moi au courant.

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour