Private Sub soustotal_Click()
'Définition de la première ligne.
Dim premiereLigne As Range
Set premiereLigne = Sheets("construction_devis").Range("A6")
Dim numeroDerniereLigne As Long
numeroDerniereLigne = Sheets("construction_devis").Range("A300").End(xlUp).Row
'Numero de départ = a partir de là ou il faut faire la somme
Dim numeroDeDepart As Long
numeroDeDepart = premiereLigne.Row
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'On cherche le numéro de départ
For i = 0 To (numeroDerniereLigne - numeroDeDepart)
premiereLigne.MergeCells = False
'une ligne de sous total n'a pas d'id(apparement c'est cette condition qui ne fonctionne pas)
If IsEmpty(premiereLigne) Then
numeroDeDepart = premiereLigne.Offset(0, i).Row
End If
Next i
' je fais la somme
'Les colonnes
For col = 2 To 10
'pour les lignes
For Line = 0 To (numeroDerniereLigne - numeroDeDepart)
Dim somme As Variant
Set valeur = premiereLigne.Offset(Line, col)
'Set essai = premiereLigne.Offset((numeroDerniereLigne - numeroDeDepart), col)
somme = somme + valeur.Value
Next Line
With premiereLigne.Offset(Line, col)
.Value = somme
End With
'modifier la presentation
With premiereLigne.Offset(Line, (col - 1)).Font
.FontStyle = "Gras"
End With
somme = 0
Next col
'ajout d'un titre de ligne
premiereLigne.Offset(Line, (col - 10)).Value = "Total partiel:"
End Sub