Identifier le nombre le plus petit différent de 0
Fermé
BE-NAMCO
Messages postés
3
Date d'inscription
lundi 27 juin 2016
Statut
Membre
Dernière intervention
19 juillet 2016
-
Modifié par BE-NAMCO le 19/07/2016 à 10:19
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 19 juil. 2016 à 16:24
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 19 juil. 2016 à 16:24
A voir également:
- Identifier le nombre le plus petit différent de 0
- Identifier appareil avec adresse mac - Guide
- Excel afficher le 0 devant un nombre - Guide
- Excel trier du plus grand au plus petit - Guide
- Excel différent de 0 - Forum Excel
1 réponse
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
19 juil. 2016 à 16:24
19 juil. 2016 à 16:24
Bonjour Be-Namco, bonjour le forum,
Le code ci-dessous va renvoyer en C1 la première plus petite valeur, supérieure à zéro ! Si il y a des ex-æquo...
Le code ci-dessous va renvoyer en C1 la première plus petite valeur, supérieure à zéro ! Si il y a des ex-æquo...
Sub Macro1() Dim O As Worksheet 'déclare la variable O (Onglet) Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs) Dim PP As Integer 'déclare la variable PP (Plus Petit) Set O = Worksheets("Feuil1") 'définit l'onglet O TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV 'condition : si la plus petite valeur de la colonne 2 (=B) est supérieure à 0 If Application.WorksheetFunction.Min(O.Columns(2)) > 0 Then PP = Application.WorksheetFunction.Min(O.Columns(2)) 'définit la variable PP Else 'sinon PP = 1000 'définit une valeur bien supérieure à la valeur maximale For I = 1 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV 'si la donnée ligne I colonne 2 de TV est inférieure a PP est supérieure à 0, redéfinit PP If TV(I, 2) < PP And TV(I, 2) > 0 Then PP = TV(I, 2) Next I 'prochaine ligne de la boucle End If 'fin de la condition For I = 1 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV 'si la donnée ligne I colonne 2 de TV est égale à PP, renvoi dans la cellule C1 la donnée ligne I colonne 1 'du tableau des valeurs TV, sort de la procédure If TV(I, 2) = PP Then O.Range("C1").Value = TV(I, 1): Exit Sub Next I 'prochaine ligne de la boucle End Sub