VBA : macro Ss Totaux au dessus ou en dessous

etienne777 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
cousinhub29 Messages postés 1074 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Bonjour,
je viens de créer une macro sous totaux.
Voici la copie exacte :




Sub SousTotaux()
'----------------------------------------------
With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
'------------------------------------------------

Dim apparitionligne As Integer
Dim CELLULE As Integer

ActiveSheet.Unprotect strpass
apparitionligne = InputBox("n° ligne EXCEL à compléter")
CELLULE = InputBox("nombre de cellule à totaliser au DESSUS")
'---------------------------------------------------------
Range("E" & apparitionligne).Select
ActiveCell.FormulaR1C1 = "SOUS TOTAL"
Range("H" & apparitionligne).Select
ActiveCell.FormulaR1C1 = "=SUM(R[-" & CELLULE & "]C:R[-1]C)"
Range("H" & apparitionligne).Select
Selection.Copy
Range("H" & apparitionligne & ":AE" & apparitionligne).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'--------------------------------------
Range("V" & apparitionligne).Select
ActiveCell.FormulaR1C1 = "=IF(RC[-10]=0,0,IF(RC[1]=0,0,RC[1]/RC[-10]))"
'--------------------------------------
Range("B" & apparitionligne & ":AE" & apparitionligne).Select
With Selection.Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
Range("AG" & apparitionligne).Select
With Selection.Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
'--------------------------------------
Range("B" & apparitionligne & ":AE" & apparitionligne).Select
Selection.Font.Bold = True
Range("AG" & apparitionligne).Select
Selection.Font.Bold = True
'--------------------------------------
Range("C" & apparitionligne).Select
ActiveCell.FormulaR1C1 = "ST"

'------------------------------------------------
ActiveSheet.Protect strpass, DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowFiltering:=True
'-------------------------------------------------
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
'-------------------------------------------------

End Sub


Mon problème est que j'aimerais pouvoir placer la ligne des sous totaux soit au dessus soit en dessous des données du tableau. Me question est : Quel modification je doit faire dans ma formule actuelle ???. Dans cette formule, le sous-totaux se situera toujours en dessous des données.
Je ne suis pas un grand expert de VBA mais si j'écoute ce que l'on m'a dit il faut que je fasse un "Userform".
Pour information cette macro n'a pas été faite que part moi même. J'ai été pas mal aidé.
Merci d'avance.
Etienne



1 réponse

cousinhub29 Messages postés 1074 Date d'inscription   Statut Membre Dernière intervention   361
 
Bonjour,

Et bienvenue...

Effectivement, l'utilisation d'un petit UserForm permettrait un traitement plus aisé....

Cependant, sans voir la structure exacte de ton fichier, difficile d'y répondre à coup sûr....

Peux-tu joindre un fichier exemple, sans données confidentielles, mais avec la structure exacte, de ton fichier de travail (remplace les noms par des mois, les numéros de tel par des jours.....)

Seules quelques lignes suffisent

Pour joindre un fichier, utilise le site

http://www.cijoint.fr/</code> 


par exemple...

@ te relire
0