Copier des données dans un autre classeur

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 !

Sly le globe trotter

XLDnaute Occasionnel
Bonjour à tous,

Après plusieurs recherches sur le net, je m'en remets à vous pour avancer sur mon problème.

A partir d'un classeur A, je cherche à copier une plage de cellule dans un classeur B. Mon souci vient a priori du fait que cette plage de cellule dépend d'une ligne d'un tableau de mon fichier A. Idem pour la ligne d'arrivée dans le fichier B.
J'ai donc introduit dans mon code, deux indices, i et j. J'utilise le code suivant
Code:
Workbooks(B).Sheets("data").Range(Cells(j, 15), Cells(j, 36)).value = Workbooks(A).Sheets("Raw data").Range(Cells(i, 4), Cells(i, 25)).value
mais il génère une erreur 1004...

Auriez-vous une idée ?

Merci !
Sly
 
Dernière édition:
Re : Copier des données dans un autre classeur

Salut Sly le globe trotter et le forum
Avec un lambeau de code, pas facile d'aider.
Erreur 1004 : mon principal but étant de supprimer les erreurs, je ne me rappelle plus qu'elle en est la description.

Essaie de vérifier la valeur de tes données, juste avant l'erreur.
A+
 
Re : Copier des données dans un autre classeur

Salut Gorfael,

J'ai bien essayé de vérifier la valeur des données mais comme il s'agit de copier et coller une plage de cellules, à part les indices, je ne peux pas vérifier grand chose.
je pensais que cela provenait de la syntaxe qui ne devait pas être approprié...

Merci pour votre aide
Sly
 
Re : Copier des données dans un autre classeur

une idée comme çà
en donnant une valeur de ligne à i et à j

Code:
Sub test()
i = 2
j = 1
Workbooks("B.xls").Activate
Workbooks("B.xls").Sheets("data").Range(Cells(j, 15), Cells(j, 36)).Copy
Workbooks("A.xls").Activate
Workbooks("A.xls").Sheets("Raw data").Paste Destination:=Range(Cells(i, 4), Cells(i, 25))
End Sub
une autre proposition avec boucles

Code:
Sub test()
Application.ScreenUpdating = False
i = 2
For j = 1 To 5
Workbooks("B.xls").Activate
Workbooks("B.xls").Sheets("data").Range(Cells(j, 15), Cells(j, 36)).Copy
Workbooks("A.xls").Activate
Workbooks("A.xls").Sheets("Raw data").Paste Destination:=Range(Cells(i, 4), Cells(i, 25))
i = i + 1
Next
Application.ScreenUpdating = True
End Sub
ou encore

Code:
Sub test()
Dim wb1 As Workbook
Dim wb2 As Workbook
Application.ScreenUpdating = False
Set wb1 = Workbooks("B.xls")
Set wb2 = Workbooks("A.xls")
wb1.Sheets("data").Range("O1:AJ5").Copy wb2.Sheets("Raw data").Range("D2:Y5")
Application.ScreenUpdating = True
End Sub
🙄
 
Dernière édition:
- 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
15
Affichages
784
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
903
Retour