Totaux sur plages variables via VBA

Bonjour,

J'ai un tableau contenant dans la colonne J des noms d'unités.

Dans la colonne K des nombres de résultats de ces unités.

J'aimerais écrire une procédure qui, lorsque qu'il y a écris "Total ***" dans la colonne J fais la somme des nombres précédent de la colonne K . Mon soucis c'est que le nombre de lignes est variable.

J'ai commencé une procédure qui m'avait l'air plutôt correct mais je tombe sur une incompatibilité de types... Je vous joint le fichier vous verez ça sera plus clair. Le code est en module, et je l'ai ensuite associé a un bouton.

Si vous voyez pourquoi ça coince ....

Merci d'avance

Bonjour

A essayer

Remplaces ta macro

Public Sub Totaux(ByVal Feuil As Worksheet)
Dim J As Long
Dim Lg&
Dim Total As Currency

  With Feuil
    Lg = .Range("J" & Rows.Count).End(xlUp).Row
    For J = 6 To Lg
      If Not .Range("J" & J) Like "Total*" Then
        Total = Total + .Range("K" & J)
      Else
        .Range("K" & J) = Total
        Total = 0
      End If
    Next J
  End With
End Sub

C'est parfait :p

Merci Beaucoup !

Bonjour,

Une autre version, pour le fun...

Sub total()
Dim C As Range
Dim FAdr As String, Prod
Dim DerLig As Long
DerLig = Cells(Rows.Count, "K").End(xlUp).Row - 1
Range("J6:J" & DerLig).Name = "Plg1"
Range("K6:K" & DerLig).Name = "Plg2"
Set C = [Plg1].Find("Total", LookAt:=xlPart)
    If Not C Is Nothing Then
        FAdr = C.Address
        Do
            Prod = Right(C, 3)
            C.Offset(, 2).Value = Evaluate("SUMPRODUCT((Plg1=""" & Prod & """)*Plg2)")
            Set C = [Plg1].FindNext(C)
        Loop While Not C Is Nothing And C.Address <> FAdr
    End If
End Sub

Bon début de soirée

Rechercher des sujets similaires à "totaux plages variables via vba"