Soustraire et Additionner 2 cellules Excel

  • Initiateur de la discussion Initiateur de la discussion benny47
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

benny47

Guest
Hello la team !!
voilà ..
Imaginez, j'ai 2 cellules.
1 avec 1700 ( qui equivaut pour moi à 17h00 )
une autre à 20 ( qui équivaut à 20 minutes )

quand je fais une soustraction de cellule j'obtiens 1700 - 20 .. forcément : 1680 !!et non 1640

car il me le faut dans ce format (1640)

idem pour l'addition..

pour l'instant, j'avais 1000 et 20 donc là, ça a fonctionné 1020 ..

mais si j'ai 0950 et 20 .. à mon avis j'aurais 0970 .. ( et non pas 1010 !!! )

Voilà, si vous avez une soluce ...

je suis preneur ...

Merci !!
 
Re : Soustraire et Additionner 2 cellules Excel

Salut benny47,

Essaie de passer par la fonction TEMPS pour convertir tes nombres en heures, faire ton opération, puis revenir à ton format par les fonctions HEURE et MINUTE.

Code:
=TEMPS(ENT(A1/100);(A1-ENT(A1/100)*100);0)
pour convertir un nombre avec ton format en heure format excel

Code:
=HEURE(B3)*100+MINUTE(B3)
pour convertir une heure excel en nombre avec ton format

Gurgeh
 
Re : Soustraire et Additionner 2 cellules Excel

Bonsour®
Hello la team !!
voilà ..
Imaginez, j'ai 2 cellules.
1 avec 1700 ( qui equivaut pour moi à 17h00 )
une autre à 20 ( qui équivaut à 20 minutes )

quand je fais une soustraction de cellule j'obtiens 1700 - 20 .. forcément : 1680 !!et non 1640

car il me le faut dans ce format (1640)

idem pour l'addition..

pour l'instant, j'avais 1000 et 20 donc là, ça a fonctionné 1020 ..

mais si j'ai 0950 et 20 .. à mon avis j'aurais 0970 .. ( et non pas 1010 !!! )

Voilà, si vous avez une soluce ...

je suis preneur ...

Merci !!

🙁 😕 Ce n'est pas une bonne idée de faire des calculs sexagesimaux avec des entitées représentées sous forme décimale, (en général Merdi In = Merde Out 😀)
il te faudra par ailleurs t'assurer que les dizaines et unités ne sont pas supérieures à 59
, sinon bonjour la cohérence visuelle.

le processus que je propose
en A1 et A2 les données
en B1 la formule somme:
=1*TEXTE((1*TEXTE($A$1;"00"":""00"))+(1*TEXTE($A$2;"00"":""00"));"[h]mm")
en B2 la formule différence :
=1*TEXTE((1*TEXTE($A$1;"00"":""00")) - (1*TEXTE($A$2;"00"":""00"));"[h]mm")

attention aux temps négatifs il ne s'affichent qu'avec l'option calendrier 1904 activée


illustration :
[TABLE="width: 548"]
[TR]
[TD="align: right"]1700
[/TD]
[TD="align: right"]1720
[/TD]
[TD="colspan: 5"] =1*TEXTE((1*TEXTE($A$1;"00"":""00"))+(1*TEXTE($A$2;"00"":""00"));"[h]mm")
[/TD]
[/TR]
[TR]
[TD="align: right"]20
[/TD]
[TD="align: right"]1640
[/TD]
[TD="colspan: 5"] =1*TEXTE((1*TEXTE($A$1;"00"":""00"))-(1*TEXTE($A$2;"00"":""00"));"[h]mm")
[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD="align: right"]20
[/TD]
[TD="align: right"]1720
[/TD]
[TD]somme selon formule ci-dessus
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[TR]
[TD="align: right"]1700
[/TD]
[TD="align: center"]#VALEUR!
[/TD]
[TD]différence selon formule ci-dessus
[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[/TABLE]
 
Re : Soustraire et Additionner 2 cellules Excel

Bonsoir benny47,

Un essai qui doit gérer les heures négatives et être indépendant du type de calendrier.

J'ai supposé que les valeurs des colonne A et B sont des nombres et non du texte.
Les résultats sont des nombres et non du texte.
Le format des nombres colonnes A à D est le format spécialisé: 0000

Pour l'addition:
Code:
=100*TRONQUE((60*TRONQUE(A2/100)+(A2-100*TRONQUE(A2/100))+60*TRONQUE(B2/100)+(B2-100*TRONQUE(B2/100)))/60)+(60*TRONQUE(A2/100)+(A2-100*TRONQUE(A2/100))+60*TRONQUE(B2/100)+(B2-100*TRONQUE(B2/100))-60*TRONQUE((60*TRONQUE(A2/100)+(A2-100*TRONQUE(A2/100))+60*TRONQUE(B2/100)+(B2-100*TRONQUE(B2/100)))/60))

Pour la soustraction:
Code:
=100*TRONQUE((60*TRONQUE(A2/100)+(A2-100*TRONQUE(A2/100))+60*TRONQUE((-B2)/100)+((-B2)-100*TRONQUE((-B2)/100)))/60)+(60*TRONQUE(A2/100)+(A2-100*TRONQUE(A2/100))+60*TRONQUE((-B2)/100)+((-B2)-100*TRONQUE((-B2)/100))-60*TRONQUE((60*TRONQUE(A2/100)+(A2-100*TRONQUE(A2/100))+60*TRONQUE((-B2)/100)+((-B2)-100*TRONQUE((-B2)/100)))/60))
 

Pièces jointes

Dernière édition:
Re : Soustraire et Additionner 2 cellules Excel

hello !!
Merci pour toutes vos réponses !!
ùais en fait , mes 2 cellules sont dans excel..
Quand je fais la macro dans VBA..
Le résultat doit s'inscrire dans un fichier txt ..
Pour l'instant tout fonctionne !! mais sauf quand il doit soustraire ( pour l'instant avec mes valeurs l'addition des 2 cellules fonctionnent, mais elles ne depasse pas l'heure !! 59' )
je comprend pas tout vos codes ..
Modeste geedee : je comprend pas ' TEXTE' ?

Mapomme : TRONQUE , c'est plus une fonction excel ? pas VBA ?

PS : je suis sous Excel 2003 ..

MErci!!
 
Re : Soustraire et Additionner 2 cellules Excel

Bonsour®
hello !!
Merci pour toutes vos réponses !!


Modeste geedee : je comprend pas ' TEXTE' ?
PS : je suis sous Excel 2003 ..

MErci!!

😎
la touche F1 existait déjà sous excel 2003...
 

Pièces jointes

Re : Soustraire et Additionner 2 cellules Excel

Bonjour benny47,

mais en fait , mes 2 cellules sont dans excel..
J'ai considéré que les cellules d'entrée sont sur une feuille de calcul Excel.

Quand je fais la macro dans VBA..
Je n'avais pas compris que c'était pour du VBA (du moins pas vu dans la question), ce sont bien des formules que j'ai données.

TRONQUE , c'est plus une fonction excel ? pas VBA ?
Oui, elle retourne la partie d'un nombre située avant la virgule dotée du signe du nombre. En VBA, ce doit être la fonction FIX.
 
Dernière édition:
Re : Soustraire et Additionner 2 cellules Excel

(re) Bonjour,

Une adaptation "rapide" en VBA 'résultat au format texte):

Somme:
Code:
Public Function HHMMsom(x, y)
HHMMsom = Format(100 * Fix((60 * Fix(x / 100) + (x - 100 * Fix(x / 100)) + 60 * Fix(y / 100) + _(y - 100 * Fix(y / 100))) / 60) + (60 * Fix(x / 100) + _(x - 100 * Fix(x / 100)) + 60 * Fix(y / 100) + (y - 100 * Fix(y / 100)) _- 60 * Fix((60 * Fix(x / 100) + (x - 100 * Fix(x / 100)) + 60 * Fix(y / 100) + _(y - 100 * Fix(y / 100))) / 60)), "0000")
End Function

Différence:
Code:
Public Function HHMMdiff(x, y)

HHMMdiff = Format(100 * Fix((60 * Fix(x / 100) + (x - 100 * Fix(x / 100)) + 60 * Fix(-y / 100) + _
(-y - 100 * Fix(-y / 100))) / 60) + (60 * Fix(x / 100) + _
(x - 100 * Fix(x / 100)) + 60 * Fix(-y / 100) + (-y - 100 * Fix(-y / 100)) _
- 60 * Fix((60 * Fix(x / 100) + (x - 100 * Fix(x / 100)) + 60 * Fix(-y / 100) + _
(-y - 100 * Fix(-y / 100))) / 60)), "0000")

End Function
 
Re : Soustraire et Additionner 2 cellules Excel

Bonsour®
merci Modeste ..
je vais voir pour le transformer en VBA ...
thanks !!

utilisation de fonctions personnalisées utilisables aussi bien en formule qu'en VBA
VB:
Function Miltry2HM(Miltry As Integer) As Double
Miltry2HM = TimeValue("01:00") * Int(Miltry / 100) + TimeValue("00:01") * (Miltry Mod 100)
End Function

VB:
Function HM2Miltry(HM As Double) As Integer
HM2Miltry = 100 * Int(HM / TimeValue("01:00")) + Minute(HM)
End Function

usage en formule
soit 1022 en C1
en D1 : =Miltry2HM(C1)
format de cellule hh:mm

en E1 : =HM2Miltry(D1)
format de cellule : standard

en VBA :
msgbox format(Miltry2HM([C1]),"hh:mm")
msgbox HM2Miltry(Miltry2HM([C1])+miltry2HM(520))




Ce lien n'existe plus
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour