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

Fermé
57Mike57 Messages postés 2 Date d'inscription mardi 27 janvier 2015 Statut Membre Dernière intervention 27 janvier 2015 - 27 janv. 2015 à 14:46
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 27 janv. 2015 à 19:03
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
27 janv. 2015 à 17:11
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
27 janv. 2015 à 17:12
ups, Bonjour
0
57Mike57 Messages postés 2 Date d'inscription mardi 27 janvier 2015 Statut Membre Dernière intervention 27 janvier 2015
27 janv. 2015 à 18:51
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
27 janv. 2015 à 19:03
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