Utilisation de PLAFOND sur une valeur au format mm:ss

Bonjour,

Je suis en train de faire une macro Excel VBA pour trainer des données issues d'une machine.

Je suis sous Excel 2010

Dans cette macro, je sélectionne une cellule qui contient une valeur décimale

Je lui dit que cette valeur est au format mm:ss

Je lui demande d'arrondir à la minute supérieure par la fonction plafond

Cells(c, i).Select

Selection.NumberFormat = "mm:ss"

MaxX = Cells(c, i).Value

MaxX2 = PLAFOND(MaxX ; "00:01")

Quand je le fais en direct sur excel, je récupère bien une valeur arrondie à la minute.

Mais en VBA, ça ne fonctionne pas, j'ai le message d'erreur suivant:

Erreur de compilation

Attendu: séparateur de liste ou )

Quelqu'un peut il m'aider svp à trouver mon erreur

PS: j'ai regarder avant sur le net ou sur le forum, et je n'ai rien trouvé

Bonjour,

en VBA il y a rarement des points virgules...

Remplcer MaxX2 = PLAFOND(MaxX ; "00:01")

par MaxX2 = PLAFOND(MaxX , "00:01")

Pas essayé...

et il faut peut être (certainement) utiliser WorkSheetFunction, non ? VBA connait-il PLAFOND ?

Oui en anglais : Application.WorkSheetFunction.Ceiling(MaxX,"00:01")

pas essayé non plus...

@ bientôt

LouReeD

En effet, le ; remplacé par , est un premier pas

En effet, VBA ne connait pas plafond, ni ceiling

La fonction Application.WorksheetFunction.Ceiling fonctionne mais pas l'argument "00:01" car il considère que la valeur de MaxX est un nombre et il y a donc incompatibilité entre ce format nombre et mon format mm:ss

Alors il faut mettre la valeur décimale d'une minute qui correspond à 1/(24*60) = 1/1440

pas essayé...

@ bientôt

LouReeD

Merci LooReed

C'est bon

Bonjour,

au passage Selection.NumberFormat = "mm:ss" ne t'arrondi rien du tout.

C'est juste l'affichage, la valeur reste inchangée.

Si tu veux récupérer la valeur affichée c'est Cells(c, i).Text

Et si ton temps sur feuille est le résultat d'une formule tu risques d'avoir une toute petite différence entre celui-ci et la valeur calculée en vba, suffisante pour rendre ton test négatif à tort.

eric

En effet, j'avais rajouté cette ligne, pour tester si je pouvais plus facilement arrondir mon temps lorsqu'il était sous cette forme là.

Ma macro est presque terminée, mais maintenant je dois supprimer toutes les lignes inutiles et arranger son ergonomie, car là, c'est le gros boxxon

Bonsoir,

et bien bon courage pour le ménage !

@ bientôt

LouReeD

Rechercher des sujets similaires à "utilisation plafond valeur format"