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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 !!!
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 !!!
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 !!!
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).
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
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).
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
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).
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
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 !
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 !
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 !