Concrètement j'ai ajouté une feuille pour un insérer 5 filtres avancés. Dela je copie les données sur le bon onglet. Cela se rapproche de l'idée duTCD. Mais temporairement c'est efficace, pas esthétique et peut etre moins rapide mais je n'ai pas les compétences (bien que je soit très interessé par le sujet) pour créer un code opérationnel. J'ai l'idée mais je ne sais pas l'écrire LOL.
Le soucis c'est que j'ai un tableau sur lequel je dois m'adapter, c'est la contrainte !
Ci dessous la macro qui me permet d'obtenir le resultat souhaité. Un code très scolaire.
Sub Macro3() 'Cette Macro extrait chaque ligne de chaque budget sur "feuille 1"
Application.ScreenUpdating = False
Application.EnableEvents = False
With Worksheets("Feuil1").Select
Rows("3:1000").Select
Selection.ClearContents
Range("A3").Select
Sheets("IMPUTATIONS NVLLES DEPENSES").Range("A3:j1974").AdvancedFilter Action _
:=xlFilterCopy, CriteriaRange:=Range("A1:J2"), CopyToRange:=Range("A4"), _
Unique:=False
Sheets("IMPUTATIONS NVLLES DEPENSES").Range("A3:J1421").AdvancedFilter Action _
:=xlFilterCopy, CriteriaRange:=Range("L1:U2"), CopyToRange:=Range("L3"), _
Unique:=False
Sheets("IMPUTATIONS NVLLES DEPENSES").Range("A3:J1421").AdvancedFilter Action _
:=xlFilterCopy, CriteriaRange:=Range("W1:AF2"), CopyToRange:=Range("W3"), _
Unique:=False
Sheets("IMPUTATIONS NVLLES DEPENSES").Range("A3:J1421").AdvancedFilter Action _
:=xlFilterCopy, CriteriaRange:=Range("AH1:AQ2"), CopyToRange:=Range("AH3") _
, Unique:=False
Sheets("IMPUTATIONS NVLLES DEPENSES").Range("A3:J1421").AdvancedFilter Action _
:=xlFilterCopy, CriteriaRange:=Range("AS1:BB2"), CopyToRange:=Range("AS3") _
, Unique:=False
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Sub Macro13() 'Cette Macro copie données de "Feuil1" vers chaque onglet/budget
Application.ScreenUpdating = False
Application.EnableEvents = False
Sheets("Feuil1").Select
Range("J4").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Selection.Copy
Sheets("PRINCIPAL").Select
Range("B13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Feuil1").Select
Range("U4").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("EAU POTABLE").Select
Range("B17").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("J34").Select
Sheets("Feuil1").Select
Range("AF4").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("ASSAINISSEMENT").Select
Range("B18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Feuil1").Select
Range("AQ4").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TRANSPORTS").Select
Range("B17").Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Feuil1").Select
Range("BB4").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("DECHETS").Select
Range("B16").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("PRINCIPAL").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub