Récupérer une valeur numérique maximale dans une chaine de caractères

Contenu du snippet

Ce bout de code permet de récupèrer la valeur numérique maximale contenu dans une chaine de caractères.

Je m'explique :

Votre chaine de caractère se compose de la façon suivante :
"20,12,1,5,2560,12356,100,202,25,74"

Cette fonction va donc comparer chaque valeur numérique dans la chaine pour en déterminer la plus grande.

Le séparateur peut être soit une virgule, un point-virgule voir même un espace. Tout le code se situe dans une fonction donc facilement exploitable à partir de n'importe quel projet.

Source / Exemple :


Public Function Valeur_Maxi(Chaine As String, Separateur As String) As Integer

Dim Recup As String
Dim Partiel As String

' Ajoute à la chaine un séparateur de plus
Chaine = Chaine & Separateur

' Compte le nbr de caractère
For i = 1 To Len(Chaine)
    
    ' Si i trouve le séparateur ou arrive à la fin
    If Mid$(Chaine, i, 1) = Separateur Or i = Len(Chaine) Then
        
        ' Si Recup < Partiel alors Recup = Partiel
        If Val(Recup) < Val(Partiel) Then Recup = Partiel
        Partiel = ""
        
    Else
    
        ' Incrémente la variable de comparaison
        Partiel = Partiel + Mid$(Chaine, i, 1)
        
    End If

Next i

' Récupère la valeur maxi
Valeur_Maxi = CInt(Recup)

End Function

Conclusion :


Pour le tester c'est très simple:
-----------------------------------

1. Commencer un nouveau projet

2. Ajouter un contrôle texte et un bouton de commande

3. Ajouter "20,12,1,5,2560,12356,100,202,25,74" dans le contrôle texte

4. Utilisez le code MsgBox Valeur_Maxi(Text1.text, ",") dans le bouton de commande

Have Fun ^_^

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.