Bonjour
La partie la plus simple
Bonjour
Sub ValueArea()
Dim TopCel As Range
Set TopCel = Range('H2:L2')
Range(TopCel, TopCel.End(xlDown)).ClearContents
Cette partie de macros efface les colonnes H à L
Sauf la première ligne (TopCel = Range('H2:L2'))
Set TopCel = Range('A2')
Topcel contient la valeur A2
While Not IsEmpty(TopCel)
si la cellule A2 est vide on passe à l'instruction Wend
Si la cellule n'est pas vide on exécute les instructions suivante
'Determination du range
Dim varRowsCount As Integer
varRowsCount = 1
While TopCel(varRowsCount + 1) = TopCel
' on cherche dans la colonne A l'avant dernière cellule dont le contenu est égal a la valeur indiquée dans la cellule A2
varRowsCount = varRowsCount + 1 ' ligne suivante)
Wend
varHigh = Application.Max(Range(TopCel(1, 4), TopCel(varRowsCount, 4)))
varLow = Application.Min(Range(TopCel(1, 5), TopCel(varRowsCount, 5)))
varN = varHigh - varLow + 1
On recherche dans une plage de cellule la valeur min et la valeur maxi
TopCel(1, 4) cellule A2 1 même ligne, 3(4-1) colonnes c a d 'D2'
Ensuite on range dans un tableau (Dim varDailyRange()) de taille (ReDim varDailyRange(1 To varN)) la valeur ( valeur mini de la plage ) minimale en ajoutant 0,1,2 .... auvarDailyRange(i) = varLow + i - 1
Message édité par: jp14, à: 25/02/2006 13:17
Message édité par: jp14, à: 25/02/2006 14:36
Message édité par: jp14, à: 25/02/2006 15:18