XL 2016 Appliquer des formules sur des cellules filtrées (VBA)

SamDag

XLDnaute Nouveau
Bonjour à tous,

Je suis un débutant en VBA

Je souhaite créer une macro qui me permet de :
  1. Appliquer un filtre sur la colonne A (et ce, pour chaque critère)
  2. En fonction des lignes qui apparaissent, appliquer une formule dans la colonne C (Différence entre 2 cellules de 2 lignes successives de la colonne B).
Sachant aussi que les données du tableau changent quotidiennement.

Ci-dessous mon code (qui ne marche pas du coup :D ) :

VB:
Sub Calcul()

Dim x As Integer

Sheets("Feuil3").Select
NumRows = Range("A2", Range("A2").End(xlDown)).Rows.Count
Range("A2").Select

      For x = 1 To NumRows
        
         Sheets("Feuil2").Select
         ActiveWindow.SmallScroll Down:=0
' Ici je sais pas comment définir la valeur de la cellule de la feuille 3 qui servira comme filtre dans la colonne A de la feuille 2
            ActiveSheet.Range("$A$1:$D$17").AutoFilter Field:=1, Criteria1:=ActiveCell.Offset(1, 0).Value
        
                Range("A2").Select
                  Do Until IsEmpty(ActiveCell)
                ' Ici je sais pas comment dire "Prendre la cellule de la colonne D mais de la même ligne"
                     Range("D2").Select
                     ActiveCell.FormulaR1C1 = "=RC[-1]-R[-1]C[-1]"
                  
                     ActiveCell.Offset(1, 0).Select
                
                  Loop
        
        
      Next

End Sub

Ci-joint le fichier.
 

Pièces jointes

  • calcul_ecart_macro.xlsm
    23 KB · Affichages: 12
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil, SamDag

Une première réponse (en guise de up ;))
Est-ce que par hasard, un TCD pourrait convenir?
Différences.png
 

Discussions similaires