Bonjour à tous,

j'ai créé une boucle pour pouvoir générer des fichiers en fonction de la localisation de différentes agences.
La boucle va aller chercher les informations dans une database en fonction de l'agence puis va aller la copier/coller dans une nouvelle feuille (vituelle) les données correspondantes.
Pour récupérer les infos, la macro utilise des filtres personalisés puis sélectionne les datas.

Mon problème est que bien souvent, ma macro me ramène les données de ma boucle d'avant.
Ex: je génère des fichiers pour l'espagne puis je passe aux fichiers pour le portugal. Le 1er fichier pour le portugal contiendra les données de l'espagne...Si je génère ensuite ceux de l'italie, le 1er fichier aura les datas du portugal...

Help please et merci d'avance, ci-dessous mon code :

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
53
54
55
Sub MAJ_DATA3()
 
' Récupération & mise en forme des datas
 
Dim Vagence As String
Dim Cel As Range
Dim i As Integer
Dim DestCell3 As Range
Dim DerniereLigne3 As Long
Dim PremiereLigne3 As Long
Dim NblignesAgence3 As Long
 
 
'Suppression des data onglet "CA N-1"
Feuil10.Select
Range("DATA_COMM").Select
Selection.ClearContents
Selection.ClearFormats
Range("DATA_COMM2").Select
Selection.ClearContents
Selection.ClearFormats
 
 
'Mise à jour des filtres automatiques
Feuil7.Select
ActiveSheet.AutoFilterMode = False
Feuil7.Select
Rows("1").AutoFilter
Feuil7.Select
Selection.AutoFilter Field:=1, Criteria1:=Feuil10.Range("P3")
'Sélection de la plage relative à l'agence dans l'onget "DATA"
DerniereLigne3 = Range("DATA_PLAG_COMM").Find(Feuil10.Range("P3").Text, , , , xlByRows, xlPrevious).Row
'renvoi le nemero de la ligne qui contient la derniere valeur en colonne A
PremiereLigne3 = Range("DATA_PLAG_COMM").Find(Feuil10.Range("P3").Text, , , , xlByRows, xlFirst).Row
'renvoi le nemero de la ligne qui contient la premiere valeur en colonne A
 
NblignesAgence3 = DerniereLigne3 - PremiereLigne3 + 1
 
 
' Copie la sélection dans la zone de destinantion
Feuil7.Select
Range("A" & PremiereLigne3, "C" & DerniereLigne3).Copy
Feuil10.Select
Range("C11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
 
'Recopie les formules de calcul du CA
Range("F11:U11").Select
Selection.Copy
Range("F11", "U" & NblignesAgence3 + 10).PasteSpecial
 
 
End Sub