Identifier le nombre le plus petit différent de 0
BE-NAMCO
Messages postés
3
Statut
Membre
-
ThauTheme Messages postés 1564 Statut Membre -
ThauTheme Messages postés 1564 Statut Membre -
Bonjour,
J'aimerai avoir une macro qui me permet d'identifier le nombre/chiffre le plus petit et qu'il soit différent de 0. Une fois le chiffre/nombre identifié, il va prendre le nom de la personne de la même ligne et le coller sur une case définie.
Exemple
A | B
Marion|5
Pierre|2
Jean|6
Le plus petit nombre est 2, celui ayant le plus petit nombre est Pierre. Donc, il va copier son nom et le mettre par exemple en case C1
Je vous remercie par avance de votre aide
Bien cordialement,
Be-Namco
J'aimerai avoir une macro qui me permet d'identifier le nombre/chiffre le plus petit et qu'il soit différent de 0. Une fois le chiffre/nombre identifié, il va prendre le nom de la personne de la même ligne et le coller sur une case définie.
Exemple
A | B
Marion|5
Pierre|2
Jean|6
Le plus petit nombre est 2, celui ayant le plus petit nombre est Pierre. Donc, il va copier son nom et le mettre par exemple en case C1
Je vous remercie par avance de votre aide
Bien cordialement,
Be-Namco
A voir également:
- Identifier le nombre le plus petit différent de 0
- Afficher le 0 devant un nombre dans excel - Guide
- Nombre de jours entre deux dates excel - Guide
- Trier du plus petit au plus grand excel - Guide
- Excel différent de vide ✓ - Forum Excel
- Petit 1 comme ² ✓ - Forum Bureautique
1 réponse
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