Alors aujourd'hui, a a reçu une feuille de calcul Excel contenant plus de 20 000 cellules. J'ai dû les séparer par le nom (jamais 14 lignes commence un nouveau client), et totalise les colonnes de prix. Alors, je l'ai écrit:Utilisation d'une fonction Excel dans la question VB
Sub NewSpace()
'
' NewSpace Macro
'
' Keyboard Shortcut: Ctrl+p
'
'create the count variable, initilize it to 17
Dim count As Integer
count = 17
While count <= 30003
'add first row
Rows(count & ":" & count).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'add second row
Rows(count & ":" & count).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'Select cell A in the first created row, write "Total", and format properly
Range("A" & count).Select
ActiveCell.FormulaR1C1 = "Total"
With ActiveCell.Characters(Start:=1, Length:=5).Font
.Name = "Calibri"
.FontStyle = "Bold"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
'Select cell H in the first created row, sum up the values
Range("H" & count).Select
ActiveCell.FormulaR1C1 = "=sum(H" & (count - 15) & ":H" & (count - 1) & ")"
With ActiveCell.Characters(Start:=1, Length:=5).Font
.Name = "Calibri"
.FontStyle = "Bold"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
'increment the counter by 16, start again
count = count + 16
Wend
End Sub
Cependant, je continue à obtenir une erreur de #NOM sur cette ligne: ActiveCell.FormulaR1C1 = "= somme (H" & (compte - 15) & ": H" & (count - 1) & ")"
Tout me semble bien, et honnêtement, je ne suis pas sûr de ce que je dois changer.
EDIT: J'ai aussi oublié de mentionner, dans l'erreur #NAME, la formule montre correcte, mais il ajoute: 'à la fonction, comme suit: = SOMME (' H __ ':' H__ ')
Cela a fonctionné exactement comme il se doit. Merci pour l'aide Bart. – AgainstClint