Fichier de lancement de la macro

Sydney

XLDnaute Nouveau
Bonjour a tous,

J'ai cette macro qui copie des cellules d'un fichier a un autre:

Code:
    Dim SrcRng As Worksheet
    Dim DestRng As Worksheet
    Set SrcRng = Workbooks("2.xls").Sheets("Sheet1")
    Set DestRng = Workbooks("1.xls").Sheets("Sheet1")
    
    For i = 19 To Range("A" & Rows.Count).End(xlUp).Row
       SrcRng.Cells(i, 1).Copy Destination:=DestRng.Cells(i - 18, 1)
       SrcRng.Cells(i, 2).Copy Destination:=DestRng.Cells(i - 18, 5)
       SrcRng.Cells(i, 3).Copy Destination:=DestRng.Cells(i - 18, 6)
       SrcRng.Cells(i, 13).Copy Destination:=DestRng.Cells(i - 18, 3)
       SrcRng.Cells(i, 14).Copy Destination:=DestRng.Cells(i - 18, 4)
    Next i

Le probleme est qu'elle ne fonctionne que quand je la lance a partir du fichier "2.xls" (c'est-a-dire le fichier source: SrcRng). Or je voudrais pouvoir la lancer a partir du fichier "1.xls" (le fichier de destination: DestRng)

D'autant que par la suite je voudrais lui appliquer la fonction GetValue pour ne pas avoir a ouvrir le fichier source quand j'execute la macro. Du style:
Code:
Path = "C:\"
File = "2.xls"
Sheet = "Sheet1"
...macro

J'ai pense que ca venait du fait que je fais un copier/coller. J'ai donc essaye avec ca:
Code:
For i = 19 To Range("A" & Rows.Count).End(xlUp).Row
    DestRng.Cells(i - 18, 1) = SrcRng.Cells(i, 1)
    DestRng.Cells(i - 18, 5) = SrcRng.Cells(i, 2)
    DestRng.Cells(i - 18, 6) = SrcRng.Cells(i, 3)
    DestRng.Cells(i - 18, 3) = SrcRng.Cells(i, 13)
    DestRng.Cells(i - 18, 4) = SrcRng.Cells(i, 14)
Next i
mais ca n'a rien change.

Quelqu'un voit d'ou vient le probleme?

Sydney
 

Discussions similaires

Réponses
5
Affichages
246

Statistiques des forums

Discussions
312 550
Messages
2 089 518
Membres
104 200
dernier inscrit
JONVA