Extraction données avec critères et extract sur feuil active

57Mike57 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

3 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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 

0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
ups, Bonjour
0
57Mike57 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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?
0