Si votre tableau contient des cellules contenant à la fois des valeurs numériques et alphanumériques, la fonction suivante peut vous intéresser. Elle indique la position du premier caractère numérique de votre tableau.
Function PremierNumero(CelluleA) As Integer Application.Volatile Dim i As Integer For i = 1 To Len(CelluleA) Select Case Asc(Mid(CelluleA, i, 1)) Case 0 To 64, 123 To 197 PremierNumero = i Exit Function End Select Next i PremierNumero = 0 End Function
Commentaires:
■ Dans la première étape, déterminez la longueur de la cellule et utilisez la fonction Len pour cela.
■ Utilisez ensuite la fonction Asc pour vérifier le caractère actuel de la cellule en le convertissant en une valeur entière.
■ Utilisez la fonction Mid pour extraire le caractère suivant de la cellule.
■ Les valeurs 65 – 90 minuscules et les valeurs 97 – 122 correspondent aux majuscules.
■ Vous limitez ces plages de valeurs dans l’instruction Select Case. Si le premier caractère numérique de la cellule est trouvé, utilisez l’instruction Exit Function pour sauter hors de la fonction.
■ La position correcte du caractère est alors automatiquement dans le Variabien. Si aucun caractère numérique n’a été trouvé, la fonction renvoie la valeur 0.
Vous pouvez désormais également utiliser cette fonction définie par l’utilisateur en conjonction avec des fonctions standard.