Bonjour à tous ,

Après avoir consulté bon nombre de sujets , je ne trouve pas exactement la réponse à la question que je me pose :

Je dispose de 3 fichiers excel differents :

Exemple :
fichier1 contenant une balance comptable ( la base de donnée )

fichier2 contenant dans chaque onglet certains numero de comptes
exemple onglet 1 : tous les comptes A50001,A50002,A50003 sont dans l'onglet dav01
exemple onglet 2 : tous les comptes A40000;A40001;A50009 sont dans l'onglet dav02 etc...

fichier 3 : Je dois coller dans ce nouveau fichier :
- tout les comptes A50001 avec leur montants
a la suite tous les comptes A50002 avec leur montants.

C'est à ce moment la que ca devient compliqué pour moi :
je ne sais pas coller tous les comptes A50001,A50002,A50003 dans l'onglet DAV01 car c'est une variable
ect....

fichier 3 : Je dois coller dans ce nouveau fichier :
- tout les comptes A50001 avec leur montants
a la suite tous les comptes A50002 avec leur montants.

Je dispose actuellement du code suivant pour filtrer les données et les coller à un autre emplacement , mais je n'arrive pas à intégrer la condition suivante :

Coller les données dans la feuille dav01 a condition que les numeros de compte correspondant soit valables


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
Sub Macro6()
 
'Déclarations des variables
Dim a As Worksheet, b As Worksheet
Dim plage As Range
'définition des variables, ici les feuilles
Set a = Sheets("données12m"): Set b = Sheets("amundi12m")
'on efface les colonnes A et B de la feuille Result
b.Columns("A:B").Clear
'on applique le filtre sur la feuille Données
With a
  .AutoFilterMode = False
  Set plage = .[A1].Resize(.[A65536].End(xlUp).Row, 3)
    plage.AutoFilter 3, "<>NON"
    'On définit la plage de cellules à copier
  Set plage = _
        Intersect(.Range("A:B"), plage.SpecialCells(12))
       'on copie le résultat du filtre en feuille Result
    plage.Copy b.[A2]
    'On ôte le filtre automatique sur la feuille Données
    plage.AutoFilter
End With
'On "vide" les variables
Set a = Nothing
Set b = Nothing
Set plage = Nothing
End Sub

Merci à tous pour votre aide