Entrer deux valeurs dans un MsgBox ?

Bonsoir Forum,

J'aimerais savoir si cela est possible d'entrer deux valeurs dans un seul InputMsgBox.

L'objectif est de rentrer un temps en format (minutes/seconde). J'ai déjà effectué le code mais seulement avec une valeur en seconde :

'Entrée bancs POLY
ePOLY = InputBox("Temps d'entrée aux bancs POLY (secondes) : ", "Etapes du flux", "")
Range("B2") = ePOLY

Si vous avez des idées, je suis preneur

Bonjour,

Comment sera rentré le temps ? Sous quel format ? Deux exemple à adapter :

1225 devient 12:25 [B2] = Format(ePOLY, "00"":""00")
12:25 reste 12:25 [B2] = ePOLY

Si vous souhaitez avoir deux cadre, un pour les minutes, un pour les secondes alors passez par un USF avec deux testbox.

Il nous faudrait plus de précisions sur le besoin, le contexte, les données d'entrées et le résultat attendu.

Cdlt,

Bonsoir, bonne idée le USF, je vais tout de suite essayer merci beaucoup pour l'aide.

Les résultats son enregistrés en format standard.

Bonjour,

Un exemple fait à la va vite à personnalisé avec vérification des données renseignées :

Private Sub CommandButton1_Click()
If Me.TextBox1 < 61 And Me.TextBox2 < 61 Then
    [B2] = Format(TimeSerial(0, Me.TextBox1, Me.TextBox2), "hh:mm:ss")
    Else
    MsgBox "Format non valide", vbCritical
End If
End Sub

Cdlt,

1classeur1.xlsm (14.54 Ko)

A présent, j'aimerais récupérer si possible la valeur de chaque TextBox qui se trouve dans le User Form pour faire des différences de temps (il y a des conversions rapides en seconde à faire)

J'ai pris soin de renommer chaque textbox pour faciliter l'identité de chacun

4import-capteur.zip (342.64 Ko)

Comment est-ce qu'on fait pour récupérer les valeurs des TextBox et les mettre dans une feuille ?

Bonne soirée à tous !

Bonjour,

Je ne pensais pas qu'il y aurai autant de textbox et sans plus de précisions sur le besoin final et le contexte je ne pourrais aller plus loin, cependant pour calculer la différence pour les douches par exemple :

Private Sub Validation_Click()
Dim CTRL As Variant
For Each CTRL In Me.Controls 'Pour chaque CTRL
    If TypeName(CTRL) = "TextBox" Then 'Si le CTRL est de type textbox
        If CTRL.Tag = "DOUCHE" And CTRL > 59 Then MsgBox "DONNEE NON VALIDE": Exit Sub 'Si le tag de la textbox est DOUCHE et la durée supérieur à 59, alors on affiche un message d'erreur et sort de la macro
    End If
Next CTRL
[D12] = Minute(TimeSerial(0, Me.sDouchem, Me.sDouches) - TimeSerial(0, Me.eDouchem, Me.eDouches))
[E12] = Second(TimeSerial(0, Me.sDouchem, Me.sDouches) - TimeSerial(0, Me.eDouchem, Me.eDouches))
'Unload Me 'A activer si souhaite décharger le USF
End Sub

Je vous laisse adapter pour les autres temps car je ne sais pas si les textboxs doivent tous être renseignés en même temps avant validation, quels calculs doivent être réalisés, si les durée peuvent excedées l'heure (donc ce cas comment sont elles notées, 75 minutes ?), etc ...

Le Tag DOUCHE se règle dans les propriétés des textboxs (même endroit que son nom, un peu plus bas) et me permet de les regrouper et m'évite de réaliser un test par nom de textbox (soit 1 ligne au lieu de 4). Cette méthode ne sera pas nécessaire si toutes les textboxs doivent être renseignées avant validation.

Si cet élément vous convient merci de passer le sujet en résolu.

Cdlt,

PS : J'ai réglé les TabIndex de chaque textbox du USF pour pouvoir naviguer correctement entres elles à l'aide de la touche TAB (donc ligne par ligne)

3import-capteur.zip (334.26 Ko)

Merci des nombreuses indications, je suis parvenu à trouver la solution !

Rechercher des sujets similaires à "entrer deux valeurs msgbox"