no save
Assistance
Achat
News

Forum | programmation
Excel, somme automatiques conditionnelles
Armojax, le ven. 08 avr. 2005 à 15:27:59
Re kaz,

J'ai supposé que tu as un nombre indéterminé de structures identiques, dans une même feuille.
La nouvelle macro n'utilise plus les noms de plages de cellules.
Pour la paramétrer, il faut que tu indiques, dans les tableaux Array de la macro, les coordonnées de chaque cellule "Janvier" de l'année en cours.

Par exemple, si tu as 3 structures dans ta feuille, donc 3 lignes "Année 2005", dont les cellules "Janvier" se trouvent en : A2, C13, F21, tu dois écrire :
Lignes = Array(2, 13, 21)
Colonnes = Array(1, 3, 6)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim I As Integer
Dim Lig As Integer
Dim Col As Integer
Dim Der As Integer
Dim Tot As Double
Dim Lignes As Variant
Dim Colonnes As Variant

Lignes = Array(3, 13) ' placer ici les n° des lignes année en cours
Colonnes = Array(2, 7) ' n° de colonnes de "janvier" année en cours

With Application.WorksheetFunction
For I = 0 To UBound(Lignes)
Lig = Lignes(I)
Col = Colonnes(I)
Der = .Min(Me.Cells(Lig, Col).Offset(0, -1).End(xlToRight).Column, Col + 11)
Tot = .Sum(Range(Cells(Lig - 1, Col), (Cells(Lig - 1, Der))))
Me.Cells(Lig, Col).Offset(0, 13).Value = Tot
Next I
End With

End Sub
Précédentkaz
avr. 05
kaz
avr. 05
Suivant
REPONSES
gbinforme
avr. 05
kaz
avr. 05
Armojax
avr. 05
kaz
avr. 05
Armojax
avr. 05
kaz
avr. 05
gbinforme
avr. 05
Armojax
avr. 05
kaz
avr. 05
soflouna
janv. 08
Version Web
Réalisé par RedShift
no save