Gérer les chiffres d'une suite de caractères

ziyadnabal

XLDnaute Nouveau
Bonjour à Tous, et bien sur avant de commencer BONNE ANNEE 2009 !!! Tous mes meilleurs voeux...

Alors voici mon problème. Cela fait plusieurs jours que je n'arrive pas à trouver la solution :mad: . Je lance un défi à celui qui le trouve et je lui en serais vraiment très reconnaissant, très très très reconnaissant même !!

Admettons en cellule A1 (et tout sur la même cellule) les 11 chiffres suivants :
47589632162

Je souhaiterais connaitre une formule ou un quelconque moyen, qui me permettrait de savoir :
Quel est le nombres de chiffres compris entre "4 inclus et 6" inclus (>=4 et <=6) parmi cette liste de chiffres ? (4 inclus et 7 inclus sont un exemple...)
Ici, normalement le résultat serait " 4 " (4-.-5-.-.-.-6-.-.-.-6-.)

Je souhaiterai EN PRIORITE une formule, et si vraiment c'est impossible alors pourquoi pas sous forme de macro.

Je pensais trouver une solution avec la formule =STXT(), mais sans succès...

Je vous remercie beaucoup de m'aider les gars, je suis vraiment dans la m.... Le temps compte pour moi...

:(:(:(
 

porcinet82

XLDnaute Barbatruc
Re : Gérer les chiffres d'une suite de caractères

Salut,

Une solution via une fonction (a placer dans un module standard) qui s'utilise ensuite comme une formule :
Code:
Function Nb_caract(cel As Range, borne_inf As Integer, borne_sup As Integer) As Integer
Dim k%, cpt%
For k = 1 To Len(cel)
    If Mid(cel, k, 1) >= borne_inf And Mid(cel, k, 1) <= borne_sup Then
        cpt = cpt + 1
    End If
Next k
Nb_caract = cpt
End Function

Ensuite, par exemple, en A1, tu mets le nombre donné en exemple et en B1, tu mets =Nb_caract(A1;4;6) et tu auras ton résultats.

@+
 

ziyadnabal

XLDnaute Nouveau
Re : Gérer les chiffres d'une suite de caractères

Salut,

Une solution via une fonction (a placer dans un module standard) qui s'utilise ensuite comme une formule :
Code:
Function Nb_caract(cel As Range, borne_inf As Integer, borne_sup As Integer) As Integer
Dim k%, cpt%
For k = 1 To Len(cel)
    If Mid(cel, k, 1) >= borne_inf And Mid(cel, k, 1) <= borne_sup Then
        cpt = cpt + 1
    End If
Next k
Nb_caract = cpt
End Function

Ensuite, par exemple, en A1, tu mets le nombre donné en exemple et en B1, tu mets =Nb_caract(A1;4;6) et tu auras ton résultats.

@+
Bonjour Porcinet,

je te remercie de ta réponse qui a été aussi rapide, et surtout qui marche très bien...

INNOVATION POUR PORCINET82 !!!!!

Ca marche comme sur des roulettes !!!

Oouuuuuuuuuuuuuf

Enffffffffffiiiiiiiiin
 

Discussions similaires

Réponses
8
Affichages
296

Statistiques des forums

Discussions
312 393
Messages
2 088 006
Membres
103 695
dernier inscrit
acimi