Plus petit ou plus grand de plusieurs variables

  • Initiateur de la discussion Initiateur de la discussion pacoako
  • 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 !

pacoako

XLDnaute Occasionnel
Bonjour tout le monde!

Petite question rapide, est-ce possible de détecter laquelle de ces variable est la plus petite avec une fonction vba

Dim x As Integer
Dim y As Integer
Dim z As Integer
Dim variablelapluspetite as ?
Dim variablelaplusgrande As ?

x = 1
y = 2
z = 3

variablelapluspetite = ???
variablelaplusgrande = ???

msgbox "La plus petite valeur est: " variablelapluspetite
msgbox "La plus grande valeur est: " variablelaplusgrande


Merci infiniment d'avance!!! Byebye!
 
Re : Plus petit ou plus grand de plusieurs variables

Bonjour pacoako et le forum,

Un essai de macro :

Sub PlusPetitePlusgrandeValeurs()
Dim x As Integer, y As Integer, z As Integer
Dim variablelapluspetite As Integer, variablelaplusgrande As Integer
x = 1
y = 2
z = 3
If x < y And x < z Then
variablelapluspetite = x
ElseIf y < x And y < z Then
variablelapluspetite = y
ElseIf z < x And z < y Then
variablelapluspetite = z
End If
If x > y And x > z Then
variablelaplusgrande = x
ElseIf y > x And y > z Then
variablelaplusgrande = y
ElseIf z > x And z > y Then
variablelaplusgrande = z
End If
MsgBox "La plus petite valeur est: " & variablelapluspetite
MsgBox "La plus grande valeur est: " & variablelaplusgrande
End Sub

Cordialement

Bernard
 
Re : Plus petit ou plus grand de plusieurs variables

Bonsoir,
S'agissant de nombres, les formules
(( x + y ) - ABS( x - y )) / 2​
et
(( x + y ) + ABS( x - y )) / 2​
donnent respectivement la plus petite et la plus grande des valeurs de x et y, d'où le code
Code:
Sub PlusPetitePlusgrandeValeurs()
Dim x As Integer, y As Integer, z As Integer
Dim variablelapluspetite As Integer, variablelaplusgrande As Integer
    x = 1
    y = 2
    z = 3
    variablelapluspetite = (x + y - Abs(x - y)) / 2
    variablelapluspetite = (variablelapluspetite + z - Abs(variablelapluspetite - z)) / 2
    variablelaplusgrande = (x + y + Abs(x - y)) / 2
    variablelaplusgrande = (variablelaplusgrande + z + Abs(variablelaplusgrande - z)) / 2
    MsgBox "La plus petite valeur est: " & variablelapluspetite
    MsgBox "La plus grande valeur est: " & variablelaplusgrande
End Sub
Avec des tests, on peut aussi écrire
Code:
Sub PlusPetitePlusgrandeValeurs()
Dim x As Integer, y As Integer, z As Integer
Dim variablelapluspetite As Integer, variablelaplusgrande As Integer
    x = 1
    y = 2
    z = 3
    If x < y Then variablelapluspetite = x
    If z < variablelapluspetite Then variablelapluspetite = z
    If x > y Then variablelaplusgrande = x
    If z > variablelaplusgrande Then variablelaplusgrande = z
    MsgBox "La plus petite valeur est: " & variablelapluspetite
    MsgBox "La plus grande valeur est: " & variablelaplusgrande
End Sub
Bonne nuit !
ROGER2327
 
Re : Plus petit ou plus grand de plusieurs variables

Bonjour à tous,

une autre possibilité :

Code:
Dim x As Long
Dim y As Long
Dim z As Long
Dim variablelapluspetite As Long
Dim variablelaplusgrande As Long
x = 1
y = 2
z = 3
variablelapluspetite = Application.WorksheetFunction.Min(x, y, z)
variablelaplusgrande = Application.WorksheetFunction.Max(x, y, z)
MsgBox "La plus petite valeur est: " & variablelapluspetite
MsgBox "La plus grande valeur est: " & variablelaplusgrande
 
- 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

Discussions similaires

Retour