Somme gauche droite Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
f
floreli
Membre habitué
Membre habitué
Messages : 92
Appréciation reçue : 1
Inscrit le : 27 février 2019
Version d'Excel : 2013

Message par floreli » 27 juin 2019, 12:21

Bonjour a tous,
j ai une formule personnalisée (trouvée sur ce forum ou un autre je ne me souviens plus) qui ne me donne pas entierement satisfaction...

je souhaite sur une plage faire la somme des chiffres situés avant le "/" et apres le "/" . Je joins un fichier

Ma formule marche bien pour des chiffres entre 1 et 9, ensuite ne marche pas. Je vois bien que le probleme est au niveau
left(c.value,1) , je voudrais remplacer 1 par trouve("/";plage testée)-1, mais je n y arrive pas......

et pour la partie de droite, il faut que je remplace Right(c.Value, 1) par nbcar(plage testée)-trouve("/";plage testée)


ou alors en matricielle, j ai essayé aussi avec =SOMME(GAUCHE(A1:A30;TROUVE("/";A1:A30)-1)) mais sns plus de succes...

quelqu un a une idee ?

Merci
somme gauche + droite.xlsm
(14.66 Kio) Téléchargé 5 fois
m
melch
Membre dévoué
Membre dévoué
Messages : 591
Appréciations reçues : 27
Inscrit le : 28 juillet 2016
Version d'Excel : 2007 FR, 2013 FR

Message par melch » 27 juin 2019, 12:32

Bonjour,

Voici les nouvelles fonctions personnalisées à copier à la place des autres :

Function sommegauche(plage As Range)
    ADR = plage.Address
    For Each c In Range(ADR)
        If c.Value <> "" Then Total = Total + Left(c.Value, InStr(c, "/") - 1) * 1
    Next
    sommegauche = Total
End Function
Function sommedroite(plage As Range)
    ADR = plage.Address
    For Each c In Range(ADR)
        If c.Value <> "" Then Total = Total + Right(c.Value, Len(c) - InStr(c, "/")) * 1
    Next
    sommedroite = Total
End Function
Avatar du membre
GGautier
Membre dévoué
Membre dévoué
Messages : 777
Appréciations reçues : 42
Inscrit le : 18 décembre 2018
Version d'Excel : 2016 FR

Message par GGautier » 27 juin 2019, 12:40

Bonjour :)

Essaye ça et dit moi :
Sub extractionMots()
    Dim Tableau() As String
    Dim i As Integer
    
    On Error Resume Next
    For i = 1 To Range("A65000").End(xlUp).Row
        Tableau = Split(Cells(i, 1), "/")
        S1 = S1 + CDbl(Tableau(0))
        S2 = S2 + CDbl(Tableau(1))
    Next i
        
    MsgBox S1
    MsgBox S2

End Sub
"Il n'y a pas de question idiote, seulement une réponse idiote" ALBERT EINSTEIN (enfin ici on évite). 8-)
Vous cherchez des réponses à vos questions ? regardez par ici ;) http://boisgontierjacques.free.fr/index2.htm
t
tulipe_4
Passionné d'Excel
Passionné d'Excel
Messages : 8'789
Appréciations reçues : 262
Inscrit le : 1 janvier 2011
Version d'Excel : 2000 2007

Message par tulipe_4 » 27 juin 2019, 12:44

bonjour
sans vba
floreli.xlsx
(8.76 Kio) Téléchargé 4 fois
cordialement
c'est en cherchant qu'on trouve
f
floreli
Membre habitué
Membre habitué
Messages : 92
Appréciation reçue : 1
Inscrit le : 27 février 2019
Version d'Excel : 2013

Message par floreli » 27 juin 2019, 13:08

super merci a vous 3, les 3 solutions marchent comme je voulais !
Merci bonne fin de journée a tous
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message