Faire fonctionner une formule relative avec une variable
Bonjour à tous
Je sais, ce n'est pas la première fois que vous répondez à cette question, néanmoins, je n'est pas trouvé la solution à mon problème dans les différentes réponses que j'ai épluchées.
J'insère une formule dans une cellule mergée à la fin des colonnes des tableaux, la taille de ce merge est variable en fonction du nombre de lignes du tableau (plusieurs tableaux à la suite avec un nombre de lignes différent à chaque fois)
Ca, la 1ere partie du code le fait bien.
La ou j'y arrive pas c'est pour dire à la formule relative que j'insère qu'elle doit me prendre sur la colonne précédente un nombre de cellule qui dépend du nombre de ligne de mes tableaux.
ActiveCell.FormulaR1C1 = "=SUM(RC[-1]:R[0]C[-1])"
Cette formule fonctionne très bien, mais ne récupère qu'une seule cellule de la colonne précédente. ce que je voudrais faire c'est insérer une variable (nbcell) à la place de R[0] mettre quelque chose comme R[nbcell] pour que la formule récupère les données sur toutes les lignes de mes tableaux.
J'arrive pas à trouver la bonne solution, tout ce que j'essaye me renvoie une erreur 1004.
Si quelqu'un à une idée... je suis preneur ^^
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| Sub SousTotaux()
Dim i As Integer
Dim lignebasse As Integer
Dim lignehaute As Integer
Dim nbcell As Integer
Dim a As Byte
For i = [A1000].End(xlUp).Row To 1 Step -1
While Cells(i, 7) <> "Montant"
a = a + 1
If Cells(i, 2) = "" Then a = 0
i = i - 1
If i = 0 Then GoTo FinBoucle
lignehaute = i + 1
Wend
lignebasse = lignehaute + a - 1
a = 0
nbcell = lignebasse - lignehaute + 1
Range(Cells(lignebasse, 8), Cells(lignehaute, 8)).Select
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlCenter
.MergeCells = True
End With
Selection.Merge
ActiveCell.FormulaR1C1 = "=SUM(RC[-1]:R[0]C[-1])"
Selection.Font.Bold = True
FinBoucle:
Next i
End Sub |
Merci à tous,
Alchimiste46