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

Pb avec heure négative

3 réponses
Avatar
Olivier
Bonjour à tous,
J'ai une macro qui calcul une différence entre deux sommes exprimées en
format horaire ([h]:mm).
Je peux avoir une différence négative, donc -H.mm, évidemment excel ne
peux pas l'afficher, j'ai essayé avec :
Sheets("Informations").Cells(compteur2 + 2, 4).FormulaR1C1 =
"=ABS(Cells(compteur2 + 1, 4) - Cells(compteur2, 4))", mais comme
j'utilise des variables (compteur2) la formule ne fonctionne pas.
Existe t il une ligne de commande qui me permette de palier ce
fonctionnement, voir d'exprimer la différence horaire même en négatif ?

Merci d'avance

3 réponses

Avatar
Olivier
Merci modeste mais passer en calendrier 1904 cela va être dur (plus de
3000 références de date.... alors tout convertir (+1461 à chaque
cellule, mais bon ça marche).

pour la formule
ça marche aussi ;-) mais comment le convertir car je dois le présenter
en format horaire (hh:mm) résultat -10,25 --> -10:15 ???



Modeste a écrit :
Bonsour® Olivier avec ferveur ;o))) vous nous disiez :

J'ai une macro qui calcul une différence entre deux sommes exprimées
en format horaire ([h]:mm).
Je peux avoir une différence négative, donc -H.mm, évidemment excel ne
peux pas l'afficher, j'ai essayé avec :
Sheets("Informations").Cells(compteur2 + 2, 4).FormulaR1C1 >> "«S(Cells(compteur2 + 1, 4) - Cells(compteur2, 4))", mais comme
j'utilise des variables (compteur2) la formule ne fonctionne pas.
Existe t il une ligne de commande qui me permette de palier ce
fonctionnement, voir d'exprimer la différence horaire même en négatif



soit effectuer les calculs en heure et centiemes ( 10:45 = 10,75 )
With Sheets("Informations").Cells(compteur2 + 2, 4)
.Formula = "=(D" & compteur2 + 1 & "-D" & compteur2 & ")/""1:"""
.NumberFormat = "0.00"
End With


, soit passer en calendrier 1904
(Outils Options... onglet calcul cocher calendrier 1904)
ATTENTION si ce classeur contient des dates, ces dates seront décalées de 1461 jours !!!



Avatar
Modeste
Bonsour® Olivier avec ferveur ;o))) vous nous disiez :

mais passer en calendrier 1904 cela va être dur (plus de
3000 références de date.... alors tout convertir (+1461 à chaque
cellule, mais bon ça marche).



voir http://excelabo.net/trucs/calendrier_1904
http://excelabo.net/exemples/g-datemacpc

pour la formule
ça marche aussi ;-) mais comment le convertir car je dois le présenter
en format horaire (hh:mm) résultat -10,25 --> -10:15 ???



:-(( c'est hélas impossible de façon simple(*),
l'option calendrier standard(1900) ne permet pas l'affichage d'horaires négatifs
rappel pour conversion heure decimale <=> heure sexagesimale
10,25 * "1:" format cellule hh:mm
10:15 / "1:" format cellule 0,00

une solution :
procéder comme précedement avec la fonction ABS, mais il faut alors utiliser un artifice qui permet de mentionner le signe
- soit ajouter une colonne et y mettre le signe
- soit utiliser une MEFC permettant de colorier selon le signe

autre solution :
With Sheets("Informations").Cells(compteur2 + 2, 4)
.Formula = "=IF(D" & compteur2 + 1 & "<D" & compteur2 & ",""-"",""+"") &TEXT(ABS(D" & compteur2 + 1 & "-D" & compteur2 & "),""[h]:mm"")"
End With
bien respecter les quotes et paires de quotes !!!
ATTENTION : (*) le résultat est un texte qui n'est plus utilisable directement pour d'autres calculs

voir également :
http://excelabo.net/taxonomy/clic?fichier=msb-heuresnegatives
Avatar
Misange
Modeste a écrit :

http://excelabo.net/taxonomy/clic?fichier=msb-heuresnegatives



ou plutot
http://excelabo.net/clic?fichier=msb-heuresnegatives
Ce taxonomy qui vient se caser là parfois dans les liens est vraiment en
trop mais je n'ai pas encore trouvé comment l'enlever.
Astuce : quand tu connais le nom d'un classeur sur excelabo, pour
indiquer le lien de téléchargement maintenant c'est toujours
http://excelabo.net/clic? suivi du nom du fichier sans l'extension.
--
Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !