exemple en y8
8 - 6 - 9 - 4 - 2 le resultat de la formule 4
autre exemple
10 - 8 - 11 - 12 - 9 le resultat de la formule 12
les chiffres dans la cellule y8 sont toujours au nombre de 5 et séparé par un -
Merci d'avance pour toute aide
NB : avant de demander j'ai fait une recherche sur le forum mais sans résultat car la formule
=SI($Y8="";"";SI(NBCAR($Y8)<4;"";ABS(DROITE((GAUCHE($Y8;4));1)))) renvoi le bon chiffre sur une cellule sans "-"
mais j'aurai un soucis avec un nombre à 2 chiffres
Bonjour le Forum,
Bonjour fanadegra, l'ami David84,
hum hum je n'ai pas compris la même chose que toi David (je n'ai pas forcément raison) je pense que le demandeur cherche la 4° valeur et pas la 4° plus grande valeur.
Pour le cas ou je n'aurais pas tord a tester cette formule pour une valeur située en B12 :
... qui semble donner le bon résultat avec des groupes d'1, 2 ou 3 chiffres (s'ils sont séparés par des traits d'union avec, chaque fois une espace avant et après le tiret)
J'ai fait une fonction personnalisé :
- Texte = choix de la cellule
- Position = un numéro à saisir qui correspond à la position a extraire
- Separateur = Le séparateur de la chaine
Je ne sais pas comment faire pour ajouter des descriptions aux arguments de la fonction dans la boite de dialogue Excel
Et aussi une description générale de la fonction personnalisée dans la liste des fonctions crée
VB:
Function test(Texte As Range, Position As Integer, Separateur As variant)
Tabl = Split(Texte, Separateur)
Res = Tabl(LBound(Tabl) + (Position - 1))
test = Res
End Function
J’ai essayé de trouver une réponse sans succès, si vous avez une idée ou une solution je vous remercie.
Oui comme Laurent le suggère une fonction VBA très générale :
Code:
Function NBTROUVE(t$, rang%, separateur$)
t = Replace(t, " ", "")
NBTROUVE = ""
On Error Resume Next
NBTROUVE = --Split(t, separateur)(rang - 1)
End Function
bonsoir David84, Tibo, Jocelyn, Modeste, Laurent950, Job75 et Victor21, le forum,
toutes les formules fonctionnent, merci pour votre aide.
je souhaitais effectivement la valeur se trouvant en 4è position dans la formule, la proposition de David84 me servira peut être pour un autre besoin.