Bonjour le forum,
Je viens vers vous car je suis un peu en difficulté je cherche désespérément une manière de pouvoir adapter un code que j’ai trouvé sur le forum réalisé par « Mercatog » le principe et bien et je l’ai pratiquement compris mais je n’arrive pas à l’adapter.
Je vous explique j’ai deux bases de données une ou je veux importer mes données qui s’appelle « Pilotage quotidien Chafik » et celle d’où je veux apporter les données « Fichier Stock » dans un premier temps je voudrais réaliser un filtre sur la basse d’où j’importe mes données « Fichier Stock » sur la colonne « D » qui est le code gestion les condition du filtre se trouve dans la base « Pilotage quotidien Chafik » feuil PARAMETRES colonnes L28 à L39 pour qu’il y ait moins de ligne a traiter méthode autofilter puis importer des données par rapport à un code article qui se trouve en colonne « B5 :B » dans ma basse « Pilotage quotidien Chafik » et en « B2 :B » dans ma basse « Fichier Stock » et renvoyer les valeurs des colonnes « AH,AK,AN,AQ,AT,AW,AZ,BC,BF,BI,BL,BO,H » de la basse « Fichier Stock » respectivement vers les colonnes « X,Y,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ » de ma basse « Pilotage quotidien Chafik »
J’ai essayé d’adapter ce code mes pas évident je n’y arrive pas, alors si quelqu’un peut m’aider sa serait super

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
Option Explicit
Sub Extraction()
 
 
Dim WB_Principal, classeur3 As Workbook
Dim Ws, feuil2, feuil3 As Worksheet
Dim LastLig, LastLig1 As Long
Dim i As Byte
 
 Application.ScreenUpdating = False
 
    ' Amène le classeurs cible en avant plan, celui-ci devient le [ ActiveWorkbook ]
            Set WB_Principal = ActiveWorkbook
        Set feuil2 = WB_Principal.Worksheets("J+5")
        Set feuil3 = WB_Principal.Worksheets("PARAMETRES")
 
 Set classeur3 = Workbooks.Open("C:\Users\A172243\Desktop\Chafik\Fichier Stock.xlsx", _
        False, True)
Set Ws = classeur3.Worksheets("Feuil1")
 
With feuil2
    .AutoFilterMode = False
    LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
    LastLig1 = .Cells(.Rows.Count, "D").End(xlUp).Row
    With Ws.Range("A1:BO" & LastLig)
        .AutoFilter Field:=4, Criteria1:=feuil3.Range("D5")
        For i = 5 To LastLig1
        .AutoFilter Field:=2, Criteria1:=feuil2.Range("B5" & i)
        If Ws.Range("B2:B" & LastLig).SpecialCells(xlCellTypeVisible).Count > 1 Then
            Ws.Range("AH2:BO" & LastLig).SpecialCells(xlCellTypeVisible).Copy feuil2.Range("X" & i)
        Else
            feuil2.Range("X" & i & ":BO" & i).ClearContents
        End If
    Next i
    End With
    .AutoFilterMode = False
End With
Set Ws = Nothing
End Sub
Je vous joins les deux fichiers peut être que ce sera plus simple de comprendre