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 -
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. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      ups, Bonjour
      0
  2. 57Mike57 Messages postés 2 Statut Membre
     
    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
  3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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