Appliquer un temps

Bonjour!

Je souhaite, en fonction du contenue d'une cellule, afficher un temps dans un autre, malheureusement ça me met toujours 1h peu importe ce qu'il y a dans la cellule...

Voici le code:

If Sheets("Demande").Range("E4").Value = "Circularité" Or Sheets("Demande").Range("E4").Value = "Rugosité" Then
Sheets("Demande").Range("H4").Value = Format(Time, "h:mm;@") 'Donne le bon format à la cellule
Sheets("Demande").Range("H4").Value = CDate("00:30:00") 'Donne le temps de mesure attendu
ElseIf Sheets("Demande").Range("E4").Value = "Longueur/Angle" Then
Sheets("Demande").Range("H4").Value = Format(Time, "h:mm;@") 'Donne le bon format à la cellule
Sheets("Demande").Range("H4").Value = CDate("00:45:00") 'Donne le temps de mesure attendu
Else
Sheets("Demande").Range("H4").Value = Format(Time, "h:mm;@") 'Donne le bon format à la cellule
Sheets("Demande").Range("H4").Value = CDate("01:00:00")

End If

Je vous met le fichier ici, ça se passe dans le code de la userform

Salut

Essaye comme ça

Sub test()

If Sheets("Demande").Range("E4") = "Circularité" Or Sheets("Demande").Range("E4").Value = "Rugosité" Then
Sheets("Demande").Range("H4") = Format(Time, "h:mm;@") 'Donne le bon format à la cellule
Sheets("Demande").Range("H4") = CDate("00:30:00") 'Donne le temps de mesure attendu
Exit Sub
End If

If Sheets("Demande").Range("E4") = "Longueur/Angle" Then
Sheets("Demande").Range("H4") = Format(Time, "h:mm;@") 'Donne le bon format à la cellule
Sheets("Demande").Range("H4") = CDate("00:45:00") 'Donne le temps de mesure attendu
Else
Sheets("Demande").Range("H4") = Format(Time, "h:mm;@") 'Donne le bon format à la cellule
Sheets("Demande").Range("H4") = CDate("01:00:00")
End If

End Sub

La même chose en simplifié :

If Sheets("Demande").Range("E4") = "Circularité" Or Sheets("Demande").Range("E4").Value = "Rugosité" Then
Sheets("Demande").Range("H4") = Format(TimeValue("00:30:00"), "h:mm;@")
Exit Sub
End If

If Sheets("Demande").Range("E4") = "Longueur/Angle" Then
Sheets("Demande").Range("H4") = Format(TimeValue("00:45:00"), "h:mm;@")
Else
Sheets("Demande").Range("H4") = Format(TimeValue("01:00:00"), "h:mm;@")
End If

Encore une autre possibilité :

Dim f As Worksheet
Set f = Sheets("Demande")

If f.Range("E4") = "Circularité" Or f.Range("E4").Value = "Rugosité" Then
f.Range("H4") = Format(TimeValue("00:30:00"), "h:mm;@")
Exit Sub
End If

If f.Range("E4") = "Longueur/Angle" Then
f.Range("H4") = Format(TimeValue("00:45:00"), "h:mm;@")
Else
f.Range("H4") = Format(TimeValue("01:00:00"), "h:mm;@")
End If

Mon sauveur d'hier de retour!

J'ai essayé mais malheureusement ça me met toujours 1h dans tous les cas

Argggg J'ai pourtant testé ....

Oui c'est encore moi

Ah bon? Tu l'as mis ou? J'ai remplacé exactement le code que je t'avais envoyé par le tiens et j'ai eu 1h

Je pense avoir compris le problème, la partie juste au dessus du code introduit dans la cellule E4 toutes les CheckBox cochée avec un espace, tu sais comment contourner ça?

Et ça ? :

Dim f As Worksheet
Set f = Sheets("Demande")

If Me.CheckBox12 = True Or Me.CheckBox13 = True Then
f.Range("H4") = Format(TimeValue("00:30:00"), "h:mm;@")
End If

If Me.CheckBox14 = True Then
f.Range("H4") = Format(TimeValue("00:45:00"), "h:mm;@")
End If

If Me.CheckBox12 = False And Me.CheckBox13 = False And Me.CheckBox14 = False Then
f.Range("H4") = Format(TimeValue("01:00:00"), "h:mm;@")
End If

Oui ça marche! Super! Pas bete de passer par les CheckBox directement! Ca va bien me servir! Merci encore!

J'ai fait un peu de "ménage" dans ton code, regarde comment j'ai agencé tout ça

De plus tu n'es pas obligé de mettre du Call à tout vas

Bref, je ne suis pas le meilleur dans ce domaine non plus mais si je peux te donner un conseil c'est d'avoir un code le plus limpide possible pour modifier ou dépanner !

Merci, c'est vraiment gentil a toi! Tu me dépanne bien depuis deux jour!

Ca l'allégera un peu c'est toujours mieux, j'avais essayé de faire au plus simple mais comme je débute j'avais surtout fais comme je pouvais

Oui normal, c'est comme ça pour tout le monde

Peut être à bientôt

J'ai quand même un doute dans ce que j'ai fait,

Dans quelle condition le temps alloué est de 1h ? quand Circularité, Rugosité et Longueur/Angle sont tous cochés ou bien le contraire ?

Car moi j'ai mis quand aucuns des trois sont cochés alors le temps est égale à 1h sauf qu'on ne peux pas rien coché car sinon on a un message d'erreur !

Dans le doute remplace la dernière ligne du code avec ça :

If Me.CheckBox12 = True And Me.CheckBox13 = True And Me.CheckBox14 = True Then
f.Range("H4") = Format(TimeValue("01:00:00"), "h:mm;@")
End If

En fait il va y avoir une réunion ou les responsables vont décider dans quel cas quel temps est attendu, donc après je ferais des combinaisons etc... L’important c'était vraiment d'avoir un squelette, d’ailleurs ton dernier message je vais bien m'en servir! Merci encore!

Rechercher des sujets similaires à "appliquer temps"