Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Besoin d'aide en VBA

  • Initiateur de la discussion Initiateur de la discussion barbu26
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

barbu26

Guest
Bonjour à toutes et à tous,

Je voulais déjà vous remercier pour les innombrables aides que ce forum a pu m'apporter. Cependant, je n'ai pas trouvé de réponse à un problème. Voici mon problème:

J'ai une liste de chiffre allant de la cellule "C3" à "N3".
Dans mon application je cherche la plus grande valeur dans ces cellules et ensuite je cherche la plus petite valeur à gauche de cette valeur ( oui je sais, pas facile à expliquer 🙂 ) Je vais vous donner un exemple:
Imaginons que j'ai cette liste : 10 50 20 80 0 10 70
Je cherche la plus grande valeur: 80
Je cherche à gauche la plus petite valeur, et j'ai le choix entre "10,50 et 20" et je choisi 20. Je prend pas 0 ou 10 car ces valeurs se trouvent à droite. Avez vous compris?
Pour faire le code, j'ai déjà ma petite idée, la voici :

Etmax = Cells(3, 3)
For A = 4 To 13
If Cells(3, A) > Etmax Then Etmax = Cells(3, A).Value
Next
Etmini = 3000

For B = 4 To Etmax // c'est la que j'arrive pas à mettre la bonne "valeur"
If Cells(3, B) < Etmini Then Etmini = Cells(3, B).Value
Next


Merci pour votre aide en tout cas 🙂
 
Re : Besoin d'aide en VBA

Bonjour à tous,

Bienvenue sur XLD

Pas certain d'avoir compris la demande mais :

VB:
Option Explicit

Sub Test()
Dim EtMax&, X&
EtMax = WorksheetFunction.Max(Range("C3:N3"))
'MsgBox EtMax
For X = 3 To 14
If Cells(3, X) >= EtMax Then Cells(3, 1) = Cells(3, X).Offset(, -1)
Next
End Sub

A + à tous
 
Re : Besoin d'aide en VBA

Merci pour vos réponses rapide,

Malheureusement, JCGL, ce n'est pas exactement cela que je voudrais faire, JHA a bien résumé ce que je voulais avoir comme résultat.
Pour JHA, est ce que tu saurais maintenant, le traduire en VBA ? J'ai beau essayé je n'arrive pas à trouver le bon code.

Merci en tout cas 🙂
 
Re : Besoin d'aide en VBA

Super vgendron, c'est exactement ce que je voulais faire, peut tu m'expliquer rapidement comment tu as fais pour déterminer la position du maximum? car, dans le programme que je veut faire, je vais avoir besoin ensuite de la position du minimum? En tout cas merci beaucoup, tu m'enlèves une sacré épine du pied ;-)
 
Re : Besoin d'aide en VBA

ok ca marche: voici pour l'explication

le but est de trouver le max de la zone (ici A3:G3 )
la fonction max(A3:G3) le cherche et te le donne :80
ensuite pour trouver le min à gauche de ce 80, il faut "définir" ce qu'est le gauche: ici la zone A3😀3
sauf que le D3.. il faut lui dire..
la fonction equiv(Valeur Cherchée, zone de recherche ;0) te donne la position du 80 et te retourne 4 (Equiv = Match en VBA)
4 c'est le 4eme élément de la range A3:G3: A B C D:===>4=D
attention, si j'avais rentré les valeurs à partir de B3 jusqu'à H3, la fonction aura toujours retourné 4, mais dans ce cas.. 4 = colonne E, c'est bien le 4eme élément de la zone spécifiée

les deux fonctions imbriquées: la position du max = 4 (=colonne D)
=EQUIV(MAX(A3:G3);A3:G3;0)

maintenant, il faut chercher le min dans cette nouvelle range A3😀3
Min(Range(Cells(3, 1), Cells(3, X)))
cells(3,X) ~"D3"

et voila
 
Re : Besoin d'aide en VBA

Je te remercie pour ton explication, je vais essayé de "bidouiller" ça ce soir 🙂 mais normalement je devrais m'en sortir, merci bien en tout cas 😀
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
280
Réponses
5
Affichages
909
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…