Développer une macro excel

Résolu/Fermé
JUNIOR - 21 sept. 2018 à 19:04
titeufdu89 Messages postés 374 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 - 22 sept. 2018 à 10:28
Bonjour tous le monde.

Petite mise en context sur mon doc excel.

J'utilise une certaine case prenons exemple A1 pour faire tout un tas de calcul.
Cette case me renvoie deux valeurs importantes dans d'autre Case exemple B1 et C1
1. pourcentage 1 (dans B1)
2. pourcentage 2 (dans C1)

Mon but est de faire varier la valeur de la case A1 pour obtenir les plus bas poucentage 1 et 2.

Voila comment j'aimerais que cela fonctionne.

1. Ma case A1 peut varier entre un MIN et un MAX (conservons ses nom pour les varialbes)
2. Dépendant de la valeur mise en A1 j'obtient un pourcentage différent pour Pourc1 et Pourc2
3. Clarification : J'ai besoin de renvoyer (ou garder en mémoire) les deux Valeurs en A1 qui me donne le min de Pour1 et le min de Pour2. (Pas nécéssairement la même valeur en A1 qui donne le même pourcentage)

J'aimerais avoir un bouton (macro) CALCUL qui lance un boucle for dans laquel je met mes valeur de MIN à MAX dans A1 et j'affiche dans une ou deux case les valeurs qui représente le min des Pour1 et Pour2

PS: Aussi important, pas besoin d'essayer toutes les valeurs entre MIN et MAX. J'ai un pas de 0.250.

Le problème est que VBA est mon talon d'achile et je n'arrive à rien.

Est-ce que quelqun ici pourrait m'aider ou me donner des pistes de solutions pour réaliser mon petit projet !

Merci,
A voir également:

1 réponse

titeufdu89 Messages postés 374 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
22 sept. 2018 à 10:28
Salut Junior,

Ci-joint un code qui permet de déterminer min et max via des fenetre de saisie (inputbox) puis analyse les scénarios est renvoie les valeurs pour lesquelles pour1 et pour2 sont au minimum, dans une message box puis en B2 et C2 (sous les pourcentage). Code à coller directement dans le module VBA de ta feuille en question. A tester

Option Explicit
Sub pourcentage_minimum()

Dim min As Currency, max As Currency, i As Currency
Dim pourc1 As Long, pourc2 As Long
Dim rslt1 As Long, rslt2 As Long

'saisir dans des boites de dialogues les minimum et maximum à tester
min = InputBox("Saisir le minimum :", "Définir minimum")
max = InputBox("Saisir le maximum :", "Définir maximum")

'definir des valeurs de comparaison a partir du min
Range("A1") = min
pourc1 = Range("B1").Value
pourc2 = Range("C1").Value
rslt1 = min
rslt2 = min

'analyser les autres valeurs jusqu'au maximum dans une boucle
For i = min To max Step 0.25
Range("A1") = i

'si pourc1 est inférieur à la valeur minimum actuelle sauvegarder la valeur minimum et la valeur de A1
If Range("B1").Value < pourc1 Then
pourc1 = Range("B1").Value
rslt1 = i
End If

'si pourc2 est inférieur à la valeur minimum actuelle sauvegarder la valeur minimum et la valeur de A1
If Range("C1").Value < pourc2 Then
pourc2 = Range("C1").Value
rslt2 = i
End If
Next i

'renvoi des résultats dans une boite de dialogue puis en B2 et C2 pour chaque pourcentage
MsgBox "Réslutat 1 = " & rslt1 & Chr(10) & "Réslutalt 2 = " & rslt2
Range("B2") = rslt1
Range("C2") = rslt2

End Sub


Bonne journée

Jc
1