(Assez urgent) Sous total de Macro

bb3n

XLDnaute Nouveau
Bonjours,
Je vous contacte car j'ai un assez gros soucis avec mes macro.
J'aimerais mettre en place un sous total après filtre sur un document
Le problème, c'est que le nombre de ligne vas en s'agrandissant et que les références de suivent pas. Je ne suis pas une flèche sur VBA, je requiers votre aide.
Voici la partie concerné de la macro:

Selection.autofilter Field:=1
Selection.autofilter Field:=1, Criteria1:=numMonthStart, Operator:=xlAnd
ActiveSheet.Range("$A$1:$K$3634").autofilter Field:=4, Criteria1:="704400"
Cells.Find(What:="bleblebleble", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
(Le "blebleble" c'est un un petit bidouillage qui me renvoie a la première cellule vide)
ActiveCell.Offset(-1, 0).Range("A1").Select
ActiveCell.Offset(0, 4).Range("A1").Select
ActiveCell.FormulaR1C1 = "=SUBTOTAL(9,R[-3633]C:R[-1]C)"
Ici arrive mon problème car la première référence (3633) devient caduc a la première mise a jours et fausse tout les résultats. Y a t'il un moyen de la rendre dynamique?
Merci
 
C

Compte Supprimé 979

Guest
Re : (Assez urgent) Sous total de Macro

Bonjour bb3n et bienvenue sur ce forum
Salut gilbert_RGI, heuuu pas terrible comme réponse

@bb3n, il faut effectivement mettre ton numéro de ligne dans une variable, pour ce faire
Code:
'Trouver la dernière ligne remplie de la colonne A
DLig = ActiveSheet.Range("A" & Rows.Count).End(XlUp].Row
Selection.autofilter Field:=1
    Selection.autofilter Field:=1, Criteria1:=numMonthStart, Operator:=xlAnd
    ActiveSheet.Range("$A$1:$K$" & Dlig).autofilter Field:=4, Criteria1:="704400"
    Cells.Find(What:="bleblebleble", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
[I](Le "blebleble" c'est un un petit bidouillage qui me renvoie a la première cellule vide)[/I]
    ActiveCell.Offset(-1, 0).Range("A1").Select
    ActiveCell.Offset(0, 4).Range("A1").Select
    ActiveCell.FormulaR1C1 = "=SUBTOTAL(9,R[-" & Dlig-1 & "]C:R[-1]C)"

A tester

A+
 

bb3n

XLDnaute Nouveau
Re : (Assez urgent) Sous total de Macro

Merci de vos réponses et de la rapidité.
j'ai testé ce code, mais je n'ai pas réussi a le faire marché.
Cela viens sans doute du fait que je soit pas super fort en VBA (je doit avoué que je n'ai pas compris du tout ce code).
N'y aurait il pas une façon plus simple d'ajouter une référence ?
comme
First = Sheets("balance").Range("lignef1")
blabla du code
ActiveCell.FormulaR1C1 = "=SUBTOTAL(9,R["First "]C:R[-1]C)"
le -1 étant la ligne juste au dessus de la cellule active
Voila merci.
 

gilbert_RGI

XLDnaute Barbatruc
Re : (Assez urgent) Sous total de Macro

Bonjour bb3n et bienvenue sur ce forum
Salut gilbert_RGI, heuuu pas terrible comme réponse

@bb3n, il faut effectivement mettre ton numéro de ligne dans une variable, pour ce faire
Code:
'Trouver la dernière ligne remplie de la colonne A
DLig = ActiveSheet.Range("A" & Rows.Count).End(XlUp].Row
Selection.autofilter Field:=1
    Selection.autofilter Field:=1, Criteria1:=numMonthStart, Operator:=xlAnd
    ActiveSheet.Range("$A$1:$K$" & Dlig).autofilter Field:=4, Criteria1:="704400"
    Cells.Find(What:="bleblebleble", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
[I](Le "blebleble" c'est un un petit bidouillage qui me renvoie a la première cellule vide)[/I]
    ActiveCell.Offset(-1, 0).Range("A1").Select
    ActiveCell.Offset(0, 4).Range("A1").Select
    ActiveCell.FormulaR1C1 = "=SUBTOTAL(9,R[-" & Dlig-1 & "]C:R[-1]C)"

A tester

A+

ta réponse est sans aucun doute trop compliquée pour bb3n :rolleyes:
 

bb3n

XLDnaute Nouveau
Re : (Assez urgent) Sous total de Macro

Pour une raison qui m’aie inconnue, sa veut bien marcher de temps en temps.
Je vais donc tenter de continuer avec (merci encore BrunoM45)
Cependant si vous trouveriez une réponse a ma seconde question je suis toujours preneur ! ^^
Merci.
 

Discussions similaires

Statistiques des forums

Discussions
312 300
Messages
2 087 008
Membres
103 429
dernier inscrit
PhilippeH