Bonjour à tous,
plus ou moins débutant sous VBA, je dois réaliser une mise en forme conditionnelle, pour une plage de cellule.
Je travaille sous excel 2007 mais ce fichier sera utilisé par des personnes utilisant excel 2000 ou 2003...
Le code que j'ai réalisé pour mettre en gras et en rouge les X plus grandes valeurs (X etant saisie dans la cellule E1) de la plage A1 => D4
IL Calcule aussi la somme de ces plus grandes valeurs et place le résultat dans la cellule F1
Mon problème se situe apparemment au niveau de la recherche de la valeur max dans la plage de recherche...
Si quelqu'un a une idée...
Dim i As Integer
Dim ValMax As Long
Dim TotalMax As Long
'Selection de la plage de recherche
Range("A14").Select
'Enleve tout les valeur en gras
Selection.Font.Bold = False
Selection.Font.Color = vbBlack
'De 1 à la valeur saisie dans E1
'=> le nombre de valeurs cherchées
For i = 1 To ActiveSheet.Range("E1").Value
'Récupération des X plus grande valeur
ValMax = Application.WorksheetFunction.Large(Selection, i)
'Recherche de la valeur dans la meme plage de recherche
With Selection.Find(ValMax, , xlValues).Font
'On met en gras
.Bold = True
'On colore en rouge
.Color = vbRed
End With
TotalMax = TotalMax + ValMax
Next
'On place le total en F1
ActiveSheet.Range("F1").Value = TotalMax
Call ActiveSheet.Range("F1").Select
plus ou moins débutant sous VBA, je dois réaliser une mise en forme conditionnelle, pour une plage de cellule.
Je travaille sous excel 2007 mais ce fichier sera utilisé par des personnes utilisant excel 2000 ou 2003...
Le code que j'ai réalisé pour mettre en gras et en rouge les X plus grandes valeurs (X etant saisie dans la cellule E1) de la plage A1 => D4
IL Calcule aussi la somme de ces plus grandes valeurs et place le résultat dans la cellule F1
Mon problème se situe apparemment au niveau de la recherche de la valeur max dans la plage de recherche...
Si quelqu'un a une idée...
Dim i As Integer
Dim ValMax As Long
Dim TotalMax As Long
'Selection de la plage de recherche
Range("A14").Select
'Enleve tout les valeur en gras
Selection.Font.Bold = False
Selection.Font.Color = vbBlack
'De 1 à la valeur saisie dans E1
'=> le nombre de valeurs cherchées
For i = 1 To ActiveSheet.Range("E1").Value
'Récupération des X plus grande valeur
ValMax = Application.WorksheetFunction.Large(Selection, i)
'Recherche de la valeur dans la meme plage de recherche
With Selection.Find(ValMax, , xlValues).Font
'On met en gras
.Bold = True
'On colore en rouge
.Color = vbRed
End With
TotalMax = TotalMax + ValMax
Next
'On place le total en F1
ActiveSheet.Range("F1").Value = TotalMax
Call ActiveSheet.Range("F1").Select