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

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

3 réponses

  1. Contributeur
    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
    1. Contributeur
      ups, Bonjour
      0
  2. 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
    1. Contributeur
      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