Bonjour,
J'ai de gros problèmes concernant certains codes VBA tout simples. Je pense (j'espère!) que c'est juste un pb de syntaxe (je débute) mais je ne vois pas où ça pêche. De plus il y a des codes qui des fois marchent, des fois ne marchent pas. Bref je m'arrache les cheveux...

Dans cette macro j'ai rassemblé les trucs basiques qui me posent pb

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
Sub test()
 
    Dim Cl1 As Workbooks
    Dim Cl2 As Workbooks
 
    Set Cl1 = Workbooks("E:\Classeur1.xls")
    Set Cl2 = Workbooks("E:\Classeur2.xls")
 
    Workbooks.Open Filename:=Cl2
    Workbooks.Open Filename:="E:\Classeur2.xls"
 
    Cl1.Worksheets("Feuil1!").Range("A1").Copy Destination:=Cl2.Worksheets("Feuil1!").Range("A1")
 
    Windows("Classeur1.xls").Activate
    Worksheets("Feuil1").Cells.Select
    Selection.Copy
    Windows("Classeur2.xls").Activate
    Worksheets("Feuil1").Select
    Range("A1").Select
    ActiveSheet.Paste
 
    Workbooks("Classeur1.xls").Worksheets("Feuil1").Cells.Select
    Selection.Copy
    Workbooks("Classeur2.xls").Worksheets("Feuil1").Select
    Range("A1").Select
    ActiveSheet.Paste
 
    Workbooks("Classeur2").Activate
    Cl2.Activate
 
    Worksheets("Feuil1").Range("B1").Value = 594
    Cl2.Worksheets("Feuil1").Range("B1").Value = 594
 
    Cl2.Save
    Cl2.Close
 
End Sub
Dans cette macro
-- set ne marche pas toujours
-- le premier open ne marche pas mais le deuxième si
-- dans le "copy" le second worksheet n'est pas appréciée
-- le bloc d'après fonctionne : c'est celui que j'ai fais avec la macro d'enregistrement et que je voudrais éviter de faire !
-- le compromis entre les deux du dessus : "la méthode select a échouée"
-- dans les affectations de la valeur 594 : la 1ère marche si l'on supprime les lignes set (sinon les set font foirer la macro) et la 2e ne marche pas
-- les lignes avec activate ne marche pas
-- save et cose non plus

Je crois avoir remarquer que le set ne déraille que lorsque je ne l'utlise pas après. Et visiblement je n'utilise pas bien les variables Cl1 et Cl2...

Avis aux bons samaritains ! J'ai besoin de vos lumières !