Macro entre 2 classeurs

Bonjour,

j'ai une macro qui fonctionne dans un classeur, jaimerais avec le meme systeme de report que la macro fonctionne entre 2 classeurs séparés

la macro:

Sub enregistrer()

'enregistrement colonne vsav sav

Dim i, j, r, rep1

For i = 0 To 7

If Not IsEmpty(Range("D" & 8 + i)) Then

Workbooks.Open Filename:="C:\SPP\personnel.xls"

Sheets(Range("D" & 8 + i).Value).[G10000].End(xlUp).Offset(1, 0) = Range("K15")

j = 0

For j = 0 To 7

If Range("L" & 8 + j) = True Then _

Sheets(Range("D" & 8 + i).Value).[F10000].End(xlUp).Offset(1, 0) = Range("H" & 8 + j)

Next

End If

Next

je vous mets en pièce jointe les 2 classeurs, le premier dénommé "octobre avec macro et report" et le second "personnel" ou je cherche à faire le report. (la macro se trouve dans le module 3)

j'ai tourné dans tous les sens mais je n'y arrive pas

d'avance merci

11personnel.zip (7.94 Ko)

Bonjour,

Essaie comme ceci :

Sub enregistrer()
'MAcro modifiée par Dan le 05/11/2010
'enregistrement colonne vsav sav
Dim i As Byte, j As Byte
Dim rep1 As Integer
With ThisWorkbook.Sheets(1)
For i = 0 To 7
    If Not IsEmpty(.Range("D" & 8 + i)) Then
        Workbooks.Open Filename:="C:\SPP\personnel.xls"
        Sheets(CStr(.Range("D" & 8 + i))).Range("G10000").End(xlUp).Offset(1, 0) = .Range("K15")
        j = 0
        For j = 0 To 7
            If .Range("L" & 8 + j) = True Then _
                Sheets(CStr(.Range("D" & 8 + i))).Range("F10000").End(xlUp).Offset(1, 0) = .Range("H" & 8 + j)
         Next
    End If
Next
End With
rep1 = MsgBox("vsav sav enregisté", vbOKOnly, "Enregistrement")
...

J'ai supposé que la feuille 01oct est toujours en première position dans le fichier.

Maintenant, il aurait peut être plus simple de mettre tout dans le même fichier et de sauvegarder la feuille dans un fichier Personnel.

Amicalement

Rechercher des sujets similaires à "macro entre classeurs"