Vba excel

Résolu/Fermé
nick - 16 févr. 2009 à 14:40
 nick - 16 févr. 2009 à 16:37
Bonjour,
je suis entrain de faire une macro qui me permet de trouver une valeur max dans une plage ensuite j'aimerais aller a droite a partir de ma valeur max.

Par exemple jai une colonne A qui contient des temperature et une autre colonne B qui contient des mesures
Donc je cherche ma température max et une fois trouver je decale ds la colonne B pour recuperer ma mesure .
Pour temperature max j'uilise "TempMax = Application.WorksheetFunction.Max(Cel2)" parcontre je n'arrive pas a me deplacer a partir de cette case .

Merci pour vos aides.

3 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
16 févr. 2009 à 15:10
Bonjour,
Tu veux te déplacer à partir de la cellule qui contient la formule ou de la cellule qui contient la donnée Max ?
A+
0
bonjour merci de m'avoir repondu
alors je veux qu'une fois qu'il a trouver la tamperature max et bin je veux recupere la mesure qui se trouve dans la colonne a cote sur la meme ligne pour cette température max.

ex: colonne a1 : 20
colonne a2 : 80 <=temp max
colonne a3 : 50
-------------------------------------------
colonne b1 : 0.20
colonne b2 : 0.15 <= mesure correspondant a la temp max
colonne b3 : 0.30

Donc je me repere parraport a la température d'où j'effetue une recherche sur la temérature max et je ensuie je veux recupere la mesur à cette tempéraure qui se trouve donc sur la meme ligne mais a la deuxieme colonne

merci je sé pas si j'etais claire.
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
16 févr. 2009 à 15:35
Une solution par VBA, tu doit bien sùr adapter les adresses.
Sub MaxCellule()
Dim R As Range
Dim Cel As Range
Dim SiMax As Variant, AdrCel As String
Set R = Range("A10:A20") 'pour la démo
    For Each Cel In R
        If Cel > SiMax Then
            SiMax = Cel
            AdrCel = Cel.Address
        End If
    Next Cel
    Range("C15") = SiMax
    Range("D15") = Range(AdrCel).Offset(0, 1)
End Sub

A+
0
C cool merci je vais esseyer d'adapter ca pour la temperature min aussi

merci +
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
16 févr. 2009 à 16:00
Sub MinCellule()
Dim R As Range
Dim Cel As Range
Dim SiMin As Variant, AdrCel As String
Set R = Range("A10:A20") 'pour la démo
SiMin=1000
For Each Cel In R
If Cel < SiMin Then
SiMin = Cel
AdrCel = Cel.Address
End If
Next Cel
Range("C16") = SiMin
Range("D16") = Range(AdrCel).Offset(0, 1)
End Sub
0
ah merci
0