Macro excel " SUBTOTAL "
Résolu
Olive0185
Messages postés
17
Statut
Membre
-
Olive0185 Messages postés 17 Statut Membre -
Olive0185 Messages postés 17 Statut Membre -
Bonjour,
Encore et encore bloqué. Cette fois-ci c'est pour effectuer des sous-totaux.
Dans une colonne de chiffre, j'ai inséré des cellules vides afin d'effectuer le sous-total des cellules du dessus et par la suite j'ai fait l'enregistrement de macro afin d'avoir le sous total. Mais le problème est que cette colonne peut varier en nbr de cellule.
Dc voici la macro que j'ai créé :
For i = Range("G65536").End(xlUp).row To 2 Step -1
Cells(i, 7).Select
If Cells(i, 7).Value = "" Then
ActiveCell.Formula = "=SUBTOTAL(9,G2:G" & ActiveCell.row - 1 & ")"
Selection.NumberFormat = "#,##0.00"
Cells(i, 7).Font.Italic = True
Cells(i, 7).Font.Bold = True
End If
Next
Le problème est que le premier sous total est correct mais les suivants repartent depuis G2 alors que je voudrais qu'il démarre de la cellule juste après le sous total précédent.
Merci d'avance et si je ne suis pas assez clair, dites le moi.
Encore et encore bloqué. Cette fois-ci c'est pour effectuer des sous-totaux.
Dans une colonne de chiffre, j'ai inséré des cellules vides afin d'effectuer le sous-total des cellules du dessus et par la suite j'ai fait l'enregistrement de macro afin d'avoir le sous total. Mais le problème est que cette colonne peut varier en nbr de cellule.
Dc voici la macro que j'ai créé :
For i = Range("G65536").End(xlUp).row To 2 Step -1
Cells(i, 7).Select
If Cells(i, 7).Value = "" Then
ActiveCell.Formula = "=SUBTOTAL(9,G2:G" & ActiveCell.row - 1 & ")"
Selection.NumberFormat = "#,##0.00"
Cells(i, 7).Font.Italic = True
Cells(i, 7).Font.Bold = True
End If
Next
Le problème est que le premier sous total est correct mais les suivants repartent depuis G2 alors que je voudrais qu'il démarre de la cellule juste après le sous total précédent.
Merci d'avance et si je ne suis pas assez clair, dites le moi.
Configuration: Windows XP Internet Explorer 6.0
2 réponses
-
Bonjour,
Effectivement c'est pas clair, tu commence par le bas de la feuille mais tu commence ton 1er sous.total en haut de la feuille? Ensuite tu emploi la fonction soustotal en mode somme, c'est plus simple de faire direct Somme ?
Tu veux que tes sous-totaux calcul entre chaque cellules vides ?
si oui,Sub SB4() Dim i As Long Dim e As Long Dim Plage As String e = 2 For i = 2 To Range("G65536").End(xlUp).Row + 1 If Cells(i, 7).Value = "" Then Plage = Range(Cells(e, 7), Cells(i - 1, 7)).Address Cells(i, 7).FormulaLocal = "=SOMME(" & Plage & ")" Cells(i, 7).NumberFormat = "#,##0.00" Cells(i, 7).Font.Italic = True Cells(i, 7).Font.Bold = True e = i + 1 End If Next End Sub
A+
-
Et franchement ça marche impéccable. Je te remercie " lermite222 " pour ton aide. Dsl si je n'était pas assez clair.
Problème Résolu.