Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 ) :

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:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…