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 ^^
Merci à tous,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Alchimiste46
Partager