![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
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é |
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
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+ |
|
|
|
#3 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2005
Messages: 26
|
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é. |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2005
Messages: 26
|
Je viens de l'éxécuter mais dès le départ j'ai un message qui dit :
'l'indice n'appartient pas à la sélection.' Ce msg ne provient pas du processus de debogage. Cela te dit quelque chose ? A+ René |
|
|
|
|
|
#5 (permalink) |
|
Guest
Messages: n/a
|
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+ |
|
|
|
#6 (permalink) |
|
Guest
Messages: n/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+ |
|
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|