Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Formule détecter le rang caractère dans une cellule.

LeRevenant

XLDnaute Occasionnel
Salut les gens

J'ai lié un classeur excel avec une page web (pas de macro, pour actualiser, excel le fait tout seul toutes les minutes). Donc toutes les minutes, j'ai des données comme ceci sur une même colonne
Feuille1
A1: 153,45 BLAH BLAH
A2: 1542,87 BLAH BLAH BLAH
A3: 12587,65 XXXXXXX
etc

Le truc, c'est que j'aurais voulu mettre sur une autre colonne à part juste la partie chiffre, en gros on aurait ça :
Feuille2
A1: 153,45
A2: 1542,87
A3: 12587,65

Je pensais que si on pouvait déterminer le rang du caractère "," dans la cellule, on pourrait réussir à avoir juste les chiffres en utilisant la fonction : Feuille2!A1=gauche(Feuille1!A1;rang du caractère ","+2). Je pourrais le faire par macro, mais mon but est de tout faire avec des formules, car les donnée en feuille 1 s'alimentent automatiquement.

Voila tout et merci d'avance pour votre, si je suis pas clair, dites le moi
 

Modeste geedee

XLDnaute Barbatruc
Re : Formule détecter le rang caractère dans une cellule.

Bonsour®

= GAUCHE(A1:TROUVE(",";A1)+2)
ou bien
= GAUCHE(A1;TROUVE(" ";A1)-1)


Pb :
- que faire s'il n'y a pas de décimale ?
- que faire si il n'y a pas d'espace avant les autres caractères
 

JHA

XLDnaute Barbatruc
Re : Formule détecter le rang caractère dans une cellule.

Bonjour à tous,

En complément de la proposition de Modeste Geedee que je salue

Ci joint une solution avec une fonction personnalisée du forum

JHA
 

Pièces jointes

  • chiffre seul.xlsm
    16.3 KB · Affichages: 71

Modeste geedee

XLDnaute Barbatruc
Re : Formule détecter le rang caractère dans une cellule.

Bonsour®
avec un fonction personnalisée :
VB:
Function NumSeul(target)
Dim s$, i#
For i = 1 To Len(target)
s = s & IIf(InStr("01234567890,.", Mid(target, i, 1)) > 0, Mid(target, i, 1), "")
Next
NumSeul = s
End Function

pb :
- en cas ou il y aurait plusieurs groupes numériques ..
- si présence de plusieurs séparateurs
 

LeRevenant

XLDnaute Occasionnel
Re : Formule détecter le rang caractère dans une cellule.

= GAUCHE(A1:TROUVE(",";A1)+2)
Salut

Alors j'ai regardé ta 1ère réponse et t'as trouvé mon bonheur : la fonction trouve().

J'aurai pas le problème de l’absence de décimale, car si jamais ça tombe sur un nombre rond, ça s'affichera comme ça : 150,00 .

Mais je vais regarder la fonction "faite maison" que tu as faite, car j'aimerais savoir faire ça maintenant que je touche aux macros

Encore merci
Bonne journée.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…