Bonjour,
J'ai un problème avec la procédure "Workbook_Open" et l'instruction Copy/paste.
En effet, je voudrais selectionner une plage sur la feuille active, puis créer un nouveau document, et coller cette plage sur le nouveau document crée.
Le code ci-dessous fonctionne quand j'utilise un simple module, mais ne fonctionne plus quand je le met dans la procédure "Workbook_open"afin qu'il s'execute à l ouverture du document ==> parce le programme s execute bien à l ouverture, mais il ne me copie que des cellules vides sur le nouveau document.
Pourriez vous y jeter un coup d'oeil SVP?

D'avance merci.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Private Sub Workbook_Open()
Dim Fiche As Excel.Workbook
Dim JP As Integer
    Dim Chemin As String
    Dim I As Integer
    Dim R As Integer
    Dim DD As Date
' Chemin
    Chemin = ThisWorkbook.Path
' JR et JP
    Windows("Pronostics.xls").Activate
    Sheets("Feuil3").Select
        Feuil3.Cells(3, 5).Value = "=today()"
            For I = 4 To 200
                If Cells(I, 5).Value = Cells(3, 5).Value Then
                    JP = Cells(I, 7).Value
                    DD = Cells(I, 8).Value
                End If
            Next I
 
    Windows("Pronostics.xls").Activate
        Sheets("Feuil4").Select
 
' copier le resultat vers un autre fichier excel
    Range("A1:M20").Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
 
 
'Enregistrement sous Resultat J-..
    ActiveWorkbook.SaveAs Filename:= _
    Chemin & "\Pronos\Pronos-J" & JP & ".xls", FileFormat:=xlNormal, _
    Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
    CreateBackup:=False
    ActiveWorkbook.Close
End Sub