Extraction de valeurs maximum

apt

XLDnaute Impliqué
Bonjour à tous,

J'aimerais, en VBA, extraire la valeur Max de la colonne F (QS) et G (QT).

Ensuite récupérer les valeurs de NCS, dans la colonne B, correspondantes à la plus grande valeur (QS) et (Qt).

Enfin trouver la plus grande valeur dans la colonne B selon les valeurs collectées en deuxième phase.

Merci d'avance.

:)
 

Pièces jointes

  • MaxValeurs (1).xls
    70.5 KB · Affichages: 110

david84

XLDnaute Barbatruc
Re : Extraction de valeurs maximum

Re
Du point de vue du temps de traitement, je ne sais pas si ta méthode est efficace mais d'un point de vue pratique du VBA, si cela peut te rendre plus autonome et t'aider à progresser, alors elle l'est bien plus que les solutions toutes prêtes qui te sont proposées.
Donc, je m'y colle à la condition de ne pas toujours te donner la solution mais plutôt d'aider à t'en sortir par toi-même.
Cette partie
.[K1] = .[B1]
.[L1] = .[F1]
.[M1] = .[G1]

With .Range("J1:M1")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
' Ca ne marche pas encore !!
.Range("J1:M1").Interior.ColorIndex = .[A1].Interior.ColorIndex
n'est pas très cohérente : si tu veux copier une cellule avec sa mise en forme, utilise la méthode adaptée, en l'occurrence Copy.
Concernant le code, tu aurais eu la réponse en utilisant l'enregistreur de macro. Le code épuré issu de l'enregistreur te donne simplement
.[B1].Copy .[K1]
.[F1].Copy .[L1]
.[G1].Copy .[M1]

With .Range("J1:M1")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Une fois la structure du code récupérée grâce à l'enregistreur, utilise l'aide d'Excel pour connaître les argument de la propriété ou méthode qui t'intéresse (touche F1 du clavier).

Concernant
' Ca ne marche pas encore!!
With .Range("J1:M" & LastRw)
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlHairline
End With
End With
elle peut s'écrire simplement
With .Range("J1:M" & LastRw).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlHairline
End With
mais je ne sais pas si le résultat te convient.

Mais de toutes les façons, la partie mise en forme doit être traitée à la fin de ta procédure car l'utilisation d'Autofill te les efface.
Donc, je te conseille de traiter la partie formules d'abord.
Une fois que tu as ton résultat sur ta feuille de calcul, tu lances l'enregistreur de macro et tu enregistres la mise en forme que tu veux obtenir : tu n'auras plus ensuite qu'à épurer le code obtenu (encore une fois utilise l'aide pour comprendre la manière d'utiliser les propriétés et méthodes de l'objet que tu manipules).
A+
 

apt

XLDnaute Impliqué
Re : Extraction de valeurs maximum

Bonsoir david,

Code:
With .Range("J1:M" & LastRw).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlHairline
End With

Ne fait que tracer la dernière ligne de la plage.

Je vais continuer à tester !
 

david84

XLDnaute Barbatruc
Re : Extraction de valeurs maximum

Re
Ne fait que tracer la dernière ligne de la plage
C'est bien pour cela que je t'ai précisé
mais je ne sais pas si le résultat te convient
Fait comme je te l'ai indiqué : une fois les résultats en colonne J:M sur ta feuille de calcul, lance l'enregistreur de macros et adopte la mise en forme que tu veux. Tu pourras ainsi récupérer la structure du code pour la mise en forme.
A+
 

Discussions similaires

Réponses
6
Affichages
594

Membres actuellement en ligne

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2