Bonjour, après trois jours à tourner en rond à partir d'un code trouvé sur internet, je constate que je n'arrive à rien.
Je cherche à mettre à jour un classeur à partir d'un autre, fermé.

J'ai trouvé la technique:

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
Dim Chemin2 As String, Fichier2 As String
 
Annee = Worksheets("Feuil15").Range("EK2").Value
 
 
 
  Worksheets("EFFECTIFS 2NDES DONNES").Select
    Worksheets("EFFECTIFS 2NDES DONNES").Activate
 
 
Chemin2 = "H:\Secretariat\" & Annee & "\outils generaux\effectifs\"
 
Fichier2 = "exp_liste_des_eleves_par_division.xlsm"
ThisWorkbook.Names.Add "plage", _
RefersTo:="='" & Chemin2 & "[" & Fichier2 & "]Feuil3'!$A$1:$BL$2000"
With Sheets("EFFECTIFS 2NDES DONNES")
.[A1:BK2000] = "=plage"
.[A1:BK2000].Copy
Sheets("EFFECTIFS 2NDES DONNES").Range("A1").PasteSpecial xlPasteValues
Application.CutCopyMode = False
 
    Range("A1").Select
 
Calculate
 
End With

Là où je patine sec c'est que je voudrais que dans le classeur à mettre à jour, les cellules portant les valeurs du classeur source soient décalées:

Dans le classeur source, la plage est et dans le classeur destination: or, avec , la plage dans le classeur destination est l'image exacte de celle du classeur source:

.


Existe-t-il une solution s'il vous plaît????

A tout hasard, le résultat inopérant de mes bidouilles:



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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Dim Chemin3 As String, Fichier3 As String
 
Annee = Worksheets("Feuil15").Range("EK2").Value
 
 
 
  Worksheets("Feuil1").Select
    Worksheets("Feuil1").Activate
 
 
    Range("A1").Select
Chemin3 = "H:\Secretariat\" & Annee & "\outils generaux\"
Fichier3 = "casiers profs.xlsm"
 
Dim plageX As Range
Set plageX = Range("$A$1:$BK$2000").Offset(0, 8)
 
ThisWorkbook.Names.Add "plageX", _
RefersTo:="='" & Chemin3 & "[" & Fichier3 & "]Feuil1'!$A$1:$BK$2000"
 
 
 
With Workbooks("traitement cdc mentions 2ndes.xlsm")
 
 
 
 
With Sheets("Feuil1")
 
 
 
.[H1:BR2000] = "=plageX"
.[H1:BR2000].Copy
 
 
 
Sheets("Feuil1").Range("H1").PasteSpecial xlPasteValues
 
Application.CutCopyMode = False
 
Range("A1").Select
 
Calculate
 
 
Worksheets("Feuil15").Select
    Worksheets("Feuil15").Activate
 
 
 
End With
End With
Avec ce code, mon fichier destination est "alimenté", en H1, à partir de la cellule H1 du fichier source et non A1.

Un énorme MERCI pour toute aide!!!!!!