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

Y compris Power BI, Power Query et toute autre question en lien avec Excel
k
kara0016
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 3 juin 2014
Version d'Excel : 2013 FR

Message par kara0016 » 19 juillet 2014, 00:58

Bonjour,

Voilà je ne suis pas mauvais sur excel avec les formule. je m'en sort bien mais j'aimerais réalisé un truc assez complexe et donc je m'adresse à vous.

J'aimerai extraire des caractère défini d'une cellule, les dispose dans leur ordre d’apparition et en faire le calcul dans une autre cellule.

Si possible en formule svp (mais ça m’étonnerai que cela soit possible)
Sinon VBA.

Comme je ne connais pas VBA je n'ai rien fait
Sinon pour le côter formule j'ai surtout plancher sur STXT mais je ne crois pas que cela suffise.

Cela me simplifiera les choses dans mon travail. Sinon je continuerai à faire le report manuellement.

Merci d'avance pour votre temps.
aideformule.xlsx
(9.34 Kio) Téléchargé 19 fois
f
frangy
Passionné d'Excel
Passionné d'Excel
Messages : 4'342
Appréciation reçue : 1
Inscrit le : 19 novembre 2012
Version d'Excel : 2007 FR

Message par frangy » 19 juillet 2014, 08:30

Bonjour,

Une proposition avec une fonction personnelle

A+
aideformule.xlsm
(15.47 Kio) Téléchargé 14 fois
r
robjam
Membre dévoué
Membre dévoué
Messages : 538
Inscrit le : 8 mai 2012
Version d'Excel : 2010 FR, 2016 FR

Message par robjam » 19 juillet 2014, 08:51

Bonjour,
Une proposition avec VBA et fonction personnelle

Oups!!! pas vu la proposition de Tangy désolé

Re,
En plus j'ai oublié le bouton, je l'ai ajouté
Explications en feuil2
aideformule.xlsm
(22.84 Kio) Téléchargé 20 fois
Cordialement
R.J.
k
kara0016
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 3 juin 2014
Version d'Excel : 2013 FR

Message par kara0016 » 19 juillet 2014, 10:13

merci pour pour vos proposition je vais voir ça !!
... Je viens de les tester et les deux correspondent je vais les intergrer à mon tableau
Merci Beacoup!!
k
kara0016
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 3 juin 2014
Version d'Excel : 2013 FR

Message par kara0016 » 19 juillet 2014, 10:37

Frangy merci pour ton tableau il correspond exactement à ce que je veu en faire mais il ne prend pas en compte les chiffre décimaux. cela est-il possible?

Renvoi du tableau avec exemple
aideformule.xlsm
(16.04 Kio) Téléchargé 12 fois
f
frangy
Passionné d'Excel
Passionné d'Excel
Messages : 4'342
Appréciation reçue : 1
Inscrit le : 19 novembre 2012
Version d'Excel : 2007 FR

Message par frangy » 19 juillet 2014, 10:53

Essaie comme cela

A+
aideformule.xlsm
(15.64 Kio) Téléchargé 19 fois
k
kara0016
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 3 juin 2014
Version d'Excel : 2013 FR

Message par kara0016 » 19 juillet 2014, 10:58

MERCI pour la rapidité de ta réponse
Ca fonctionne parfaitement

ca me me faire gagner ps mal de temps

encore merci.
r
robjam
Membre dévoué
Membre dévoué
Messages : 538
Inscrit le : 8 mai 2012
Version d'Excel : 2010 FR, 2016 FR

Message par robjam » 19 juillet 2014, 11:00

Re,
Suite à votre remarque j'ai modifié ma function pour remplacer la , par un . car evaluate ne prend pas la virgule en considération pour calculer.

Function Extract_F(x As String)
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 = Range("C4")
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

Donc en D4 mettre =Extract_F(C4)
Et plus besoin du bouton alors
Cordialement
R.J.
k
kara0016
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 3 juin 2014
Version d'Excel : 2013 FR

Message par kara0016 » 19 juillet 2014, 11:07

oui c'est ce que j'ai compris merci à toi pour les explications
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:01

Robjam j'ai un souci avec t'as formule

En fait je voudrai que lorsque j'écris dans la cellule Extract_F(cellule) il me calcul la cellule à laquelle je fait référence.
mais ton code ne calcul que la formule en C4.
Comment changer cela?

Function Extract_F(x As String)
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 = Range("c4")
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
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message