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
Je vous joins les deux fichiers peut être que ce sera plus simple de comprendre
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
Partager