Extraction données avec critères et extract sur feuil active
57Mike57
Messages postés
2
Statut
Membre
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
je suis un peu novice avec les macros et je voudrais mettre ce nom de feuille "9522 AGE 01" en référence contenant ce nom car celui ci est variable pour chaque feuille. Mon classeur peut contenir entre 500 et 1500 feuilles nommées par une liste variable.
Dans mon code j'ai mis en gras ce que je voudrais en variable sachant que le nom de ma feuille est en D4 de chaque feuille.
Sub Extraction()
'
' Extraction Macro
'
Sheets("Base4").Select
Range("Q15").Select
Range("A8:R1523").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheets("9522 AGE 01").Range("F1:H2"), CopyToRange:=Range("X8:AF9"), Unique _
:=False
Range("X9").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Cut
Sheets("9522 AGE 01").Select
Range("E24").Select
ActiveSheet.Paste
Range("E24").Select
End Sub
je suis sur excel 2013
merci pour l'aide
je suis un peu novice avec les macros et je voudrais mettre ce nom de feuille "9522 AGE 01" en référence contenant ce nom car celui ci est variable pour chaque feuille. Mon classeur peut contenir entre 500 et 1500 feuilles nommées par une liste variable.
Dans mon code j'ai mis en gras ce que je voudrais en variable sachant que le nom de ma feuille est en D4 de chaque feuille.
Sub Extraction()
'
' Extraction Macro
'
Sheets("Base4").Select
Range("Q15").Select
Range("A8:R1523").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheets("9522 AGE 01").Range("F1:H2"), CopyToRange:=Range("X8:AF9"), Unique _
:=False
Range("X9").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Cut
Sheets("9522 AGE 01").Select
Range("E24").Select
ActiveSheet.Paste
Range("E24").Select
End Sub
je suis sur excel 2013
merci pour l'aide
3 réponses
-
Sub Extraction() ' ' Extraction Macro Dim mavariable As String Sheets("Base4").Select mavariable = Range("D4").Value Range("Q15").Select Range("A8:R1523").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _ Sheets(mavariable).Range("F1:H2"), CopyToRange:=Range("X8:AF9"), Unique _ :=False Range("X9").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Cut Sheets(mavariable).Select Range("E24").Select ActiveSheet.Paste Range("E24").Select End Sub
-
Merci pour ta réponse mais elle ne fonctionne pas
problème :
Range("A8:R1523").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheets(mavariable).Range("F1:H2"), CopyToRange:=Range("X8:AF9"), Unique _
:=False -
Mets un MsgBox comme ceci pour voir si cela correspond exactement au nom de ta feuille:
mavariable = Range("D4").Value MsgBox mavariable
Chez moi ce code fonctionne très bien:
Dim var As String var = Range("A1").Value 'Feuil2 en A1 Sheets(var).Select
Le reste du code je ne peux pas le vérifier. Fonctionnait-il avec le nom en dur?