Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

somme dans commentaires

26 réponses
Avatar
Pierre52
bonsoir à toutes et tous

tout d'abord, il est encore temps, meilleurs v½ux à tout le monde

je voudrais savoir s'il est possible de faire la somme de nombres écrits
dans des commentaires situés sur une même colonne

si oui comment faire?

merci de vos réponses

6 réponses

1 2 3
Avatar
Pierre52
ouahh quel homme ,pratiquement un dieu,

je suis extrêmement désolé pour ce retard mais des impératifs pro....

super ton truc, un seul petit soucis : le recalcul ne se fait pas même
avec la touche f9 du clavier , je suis obligé d'facer et de reécrire la
formule à chaque ajout aurais tu une solution?

encore merci pour ton travail super rapide
et moi qui traine encore désolé
merci

Le 09/02/2010 22:31, michdenis a écrit :
Si tu veux faire des opérations mathématiques à partir
du résultat affiché dans une cellule, et tu appliques le
format désiré à partir du menu / format / cellule / nombre /

'------------------------------------------
Function LaSom(Rg As Range)
Dim Y As Double, T As Variant
Dim C As Range, Elt As Variant
For Each C In Rg
Set com = C.Comment
If Not com Is Nothing Then
T = Split(com.Text, " ")
For Each Elt In T
If IsDate(Trim(Elt)) Then
Y = Y + TimeValue(Trim(Elt)) * 1
End If
Next
End If
Next
LaSom = Y
End Function
'------------------------------------------


"Pierre52" a écrit dans le message de groupe de
discussion :
si je ne veux que des heures et des minutes que je puisse additionner
comment transformer le format car pour le moment j'en suis à ça

LaSom = Format(Y, "H"":""MM""")

merci d'avance

e 09/02/2010 20:45, michdenis a écrit :
Essaie comme ceci :

Les chiffres ayant un format "heure"
Tu peux adapter le format selon ce que tu désires.

'---------------------------------------------
Function LaSom(Rg As Range)
Dim Y As Double, T As Variant
Dim C As Range, Elt As Variant
For Each C In Rg
Set com = C.Comment
If Not com Is Nothing Then
T = Split(com.Text, " ")
For Each Elt In T
If IsDate(Trim(Elt)) Then
Y = Y + TimeValue(Trim(Elt)) * 1
End If
Next
End If
Next
If Y >= 1 Then
LaSom = Int(Y) & " jr(s) " & _
Format(Y - Int(Y), "H ""hrs ""MM ""Min ""SS ""Sec""")
Else
LaSom = Format(Y, "H ""hrs ""MM ""Min ""SS ""Sec""")
End If
End Function
'---------------------------------------------



"Pierre52" a écrit dans le message de groupe de
discussion : eq$
merci beaucoup

cela fonctionne à merveille mais j'ai oublié de préciser que les
nombres sont des heures (aïe pas sur la tête)sous la forme hh:mm
cela te pose t il un problème si oui je me contenterai de nombres
décimaux "hh,25", "hh,30", "hh,45"

en core merci de ton aide et je te prie de m'excuser pour mon
étourderie

Le 09/02/2010 16:19, michdenis a écrit :
Bonjour,

Utilise cette fonction personnalisée que tu copies dans un module
standard.
La macro requiert Excel 2000 ou plus récent à cause de la fonction
"split()"
Chaque nombre contenu dans les commentaires
a un espace entre lui et le texte du commentaire.

Tu appelles la fonction dans une cellule : =LaSom(A1:A5)
'-----------------------------------
Function LaSom(Rg As Range)
Dim Sep As String, T As Variant
Dim C As Range, Elt As Variant
Sept = Format(0, ".")
For Each C In Rg
Set com = C.Comment
If Not com Is Nothing Then
T = Split(com.Text, " ")
For Each Elt In T
Debug.Print Elt
If IsNumeric(Trim(Replace(Elt, ".", Sep))) Then
LaSom = LaSom + Val(Trim(Elt))
End If
Next
End If
Next
End Function
'-----------------------------------




"Pierre52" a écrit dans le message de
groupe de
discussion :
bonjour
et désolé de reprendre si tard ce fil de conversation

tu disais
> Si tu as autre chose qu'une valeur numérique, donne des
> exemples de commentaires dont tu aimerais additionner
> la composante numérique.

mais cette possibilité m'avais échappée

j'aurai des commentaires de ce type

"10 blabla" ou alors "4 bla blablabla blabla"
toujours un nombre suivi de 1 ou plusieurs mots

si tu avais une solution se serait parfait

et encore désolé de reprendre ce fil si tard
















Avatar
michdenis
'------------------------------------------
Function LaSom(Rg As Range)
Application.Volatile ' <<======= Dim Y As Double, T As Variant
Dim C As Range, Elt As Variant
For Each C In Rg
Set com = C.Comment
If Not com Is Nothing Then
T = Split(com.Text, " ")
For Each Elt In T
If IsDate(Trim(Elt)) Then
Y = Y + TimeValue(Trim(Elt)) * 1
End If
Next
End If
Next
LaSom = Y
End Function
'------------------------------------------
Avatar
Pierre52
bravo, nickel, t'es un vrai dieu

merci encore



Le 21/02/2010 03:27, michdenis a écrit :
Function LaSom(Rg As Range)
Application.Volatile '<<======= > Dim Y As Double, T As Variant
Dim C As Range, Elt As Variant
For Each C In Rg
Set com = C.Comment
If Not com Is Nothing Then
T = Split(com.Text, " ")
For Each Elt In T
If IsDate(Trim(Elt)) Then
Y = Y + TimeValue(Trim(Elt)) * 1
End If
Next
End If
Next
LaSom = Y
End Function


Avatar
Mgr T. Banni
faut rien n'exagérer, malgré tout...
je parle en conséquence de cause
Mgr T.B.

"Pierre52" a écrit dans le message de news: uJZ5cf$
bravo, nickel, t'es un vrai dieu



Avatar
Mgr T. Banni
oops...en connaissance et non pas en conséqence, bien sûr
allez, ouste, au piquet, Mgr, pour changer un peu puisque le plus souvent, c'est à la piquette...
T.B.

"Mgr T. Banni" a écrit dans le message de news:
faut rien n'exagérer, malgré tout...
je parle en conséquence de cause
Mgr T.B.

"Pierre52" a écrit dans le message de news: uJZ5cf$
bravo, nickel, t'es un vrai dieu






Avatar
LSteph
Si tu lui donne du Vin au Mgr Banni
ce sera Commentaire Béni
...en somme.
--
LSteph
(Malgré les Mgr. sur le forum c'est toujours mieux qu'en terra
incognita)


On 31 jan, 14:18, "michdenis" wrote:
Voyons Mgr, en ce dimanche, on est à court de vin de messe?
Je ne vais quand même pas m'en faire pour quelques "S",
tant qu'ils ne sont pas jumelés en "SS", il n'y a rien à craindre!
;-))


1 2 3