[excel vba] problème de somme
Résolu
ahmtaro
-
ahmtaro -
ahmtaro -
Bonjour,
J'ai un petit soucis sur vba : je souhaite effectuer une somme avec des références relatives, en effet je compte le nombre de cellules non vides de la colonne puis arrivé en bas de la plage de cellule, je veux utiliser le nombre trouvé pour faire une somme juste du bon nombre de cellules.
Bon je sais c'est pas clair mais voila un tout petit bout de mon code :
Et la PAF : Erreur 1004 : Erreur définie par l'application ou par l'objet.
Bien entendu ca ne marche pas pour les autres formules^^
En gros VBA descend petit à petit tout en bas en comptant les cellules non vides (il n'y a obligatoirement plus de cellules vides en fait^^),jusque la ca marche. Mais comment integrer cet Integer dans ma formule?
Merci beaucoup de prendre le temps de réfléchir à ce problème tout con j'en suis sur^^
PS : je précise que je découvre vba en utilisant l'enregistreur de macro + les forums^^
J'ai un petit soucis sur vba : je souhaite effectuer une somme avec des références relatives, en effet je compte le nombre de cellules non vides de la colonne puis arrivé en bas de la plage de cellule, je veux utiliser le nombre trouvé pour faire une somme juste du bon nombre de cellules.
Bon je sais c'est pas clair mais voila un tout petit bout de mon code :
Private Sub Calcul_Click()
Dim nbligne As Integer
nbligne = 0
Selection.End(xlUp).Select
Do While Not (IsEmpty(ActiveCell))
ActiveCell.Offset(1, 0).Select
nbligne = nbligne + 1
Loop
If Me.Somme.Value = True Then
ActiveCell.FormulaR1C1 = "=SUM(R[-nbligne]C:R[-1]C)"
ElseIf Me.Produit.Value = True Then
ActiveCell.FormulaR1C1 = "=PRODUCT(R[-nbligne]C:R[-1]C)"
ElseIf Me.Moyenne.Value = True Then
ActiveCell.FormulaR1C1 = "=average(R[-nbligne]C:R[-1]C)"
ElseIf Me.Compte.Value = True Then
ActiveCell.FormulaR1C1 = "=SUBTOTAL(2,R[-nbligne]C:R[-1]C)"
ElseIf Me.aucune.Value = True Then
Exit Sub
End If
end sub
Et la PAF : Erreur 1004 : Erreur définie par l'application ou par l'objet.
Bien entendu ca ne marche pas pour les autres formules^^
En gros VBA descend petit à petit tout en bas en comptant les cellules non vides (il n'y a obligatoirement plus de cellules vides en fait^^),jusque la ca marche. Mais comment integrer cet Integer dans ma formule?
Merci beaucoup de prendre le temps de réfléchir à ce problème tout con j'en suis sur^^
PS : je précise que je découvre vba en utilisant l'enregistreur de macro + les forums^^
A voir également:
- [excel vba] problème de somme
- Formule somme excel colonne - Guide
- Liste déroulante excel - Guide
- Somme si couleur excel - Guide
- Word et excel gratuit - Guide
- Somme en anglais excel - Guide
2 réponses
Bonjour,
Private Sub Calcul_Click()
Dim nbligne As Integer
nbligne = 0
Selection.End(xlUp).Select
Do While Not (IsEmpty(ActiveCell))
ActiveCell.Offset(1, 0).Select
nbligne = nbligne + 1
Loop
If Me.Somme.Value = True Then
ActiveCell.FormulaR1C1 = "=SUM(R[-" & nbligne &"]C:R[-1]C)"
ElseIf Me.Produit.Value = True Then
ActiveCell.FormulaR1C1 = "=PRODUCT(R[-" & nbligne& "]C:R[-1]C)"
ElseIf Me.Moyenne.Value = True Then
ActiveCell.FormulaR1C1 = "=average(R[-" & nbligne&"]C:R[-1]C)"
ElseIf Me.Compte.Value = True Then
ActiveCell.FormulaR1C1 = "=SUBTOTAL(2,R[-" & nbligne& "]C:R[-1]C)"
ElseIf Me.aucune.Value = True Then
Exit Sub
End If
End Sub
Private Sub Calcul_Click()
Dim nbligne As Integer
nbligne = 0
Selection.End(xlUp).Select
Do While Not (IsEmpty(ActiveCell))
ActiveCell.Offset(1, 0).Select
nbligne = nbligne + 1
Loop
If Me.Somme.Value = True Then
ActiveCell.FormulaR1C1 = "=SUM(R[-" & nbligne &"]C:R[-1]C)"
ElseIf Me.Produit.Value = True Then
ActiveCell.FormulaR1C1 = "=PRODUCT(R[-" & nbligne& "]C:R[-1]C)"
ElseIf Me.Moyenne.Value = True Then
ActiveCell.FormulaR1C1 = "=average(R[-" & nbligne&"]C:R[-1]C)"
ElseIf Me.Compte.Value = True Then
ActiveCell.FormulaR1C1 = "=SUBTOTAL(2,R[-" & nbligne& "]C:R[-1]C)"
ElseIf Me.aucune.Value = True Then
Exit Sub
End If
End Sub