Extraction de données et opération sur celle-ci

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
BrunoM45
Membre impliqué
Membre impliqué
Messages : 2'890
Appréciations reçues : 87
Inscrit le : 29 octobre 2011
Version d'Excel : 2016 FR, O365 FR
Contact :

Message par BrunoM45 » 19 juillet 2014, 12:08

Bonjour le fil

Pas bien suivi, mais normalement
Si tu appelles ta fonction par:
=Extract_F(C4)
Voici le code qui va bien :wink:
Function Extract_F(Rng As Range)
  Dim chaine As String, caract As String, Expression As Variant, Signes As String
  Dim i As Integer, Longueur As Integer, cel As Range
  'Liste des signes
  Signes = "(),.*-+/"
  'La chaine complète et lenombre de caractères qu'elle contient
  chaine = Rng.Value
  Longueur = Len(chaine)
  'Analyse de la chaine caractère par caractère pour constituer l'expression à calculer
  For i = 1 To Longueur
    caract = Mid(chaine, i, 1)
    'Si une , est détectée elle doit être remplacée par un point car Evaluate ne calcule qu'avec un point
    'comme séparateur décimal
    If caract = "," Then caract = "."
    If InStr(1, Signes, caract) Or IsNumeric(caract) Then
      Expression = Expression + caract
    End If
  Next i
  Extract_F = Evaluate(Expression)
End Function
A+
[F1] est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses

Il n'y a ni bon ni mauvais usage de la liberté d'expression, il n'en existe qu'un usage insuffisant.
k
kara0016
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 3 juin 2014
Version d'Excel : 2013 FR

Message par kara0016 » 19 juillet 2014, 12:41

ah j'oubliai, j'ai fait une gestion des erreurs avec la formule ESTERR mais je me demandais si ça ne serai pas mieux de l'incure dans la fonction VBA.

DSL vient de voir la réponse merci ca marche :D
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message