Bonjour,
Je voudrais copier des données d'une feuille à une autre, mais à des lignes différentes dans la deuxième feuille :
Dans la feuille SheetSource, j'ai un traitement qui me donne des données sur la plage M5:N519.
Dans la feuille SheetDestination, je dois recherché si pour chaque ligne la valeur de la colonne A de cette feuille se retrouve dans la colonne M de la feuille SheetSource, et si oui copier le contenu de la colonne N de la feuille SheetSource dans la colonne I de la feuille SheetDestination.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 A10 signal_1 A11 P3V3 A12 signal_2 A13 signal_3 A14 signal_4 A15 signal_5 A17 signal_6 A18 signal_7 A19 signal_8 A20 A21 P3V3
Je me doute que la fonction Find est la clé de ma solution, mais je ne comprends pas tout dans cette fonction ni comment faire cela.
pour l'instant j'ai fais une portion de code pas optimisée :
Le soucis avec ce code c'est qu'il est lent, et aussi j'ai une erreur de lecture de donnée pour Worksheets(SheetDestination).Cells(row2, 1).Text
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 'Dim row, row2 As Integer For row = 5 To 519 'colonne M feuille SheetSource For row2 = 3 To 678 'colonne I feuille SheetDestination If Worksheets(SheetSource).Cells(row, 13).Text = Worksheets(SheetDestination).Cells(row2, 1).Text Then Worksheets(SheetDestination).Cells(row2, 9) = Worksheets(SheetSource).Cells(row, 14) End If Next Next
Partager