IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problèlme de mise en forme d'un textbox en format heure 00:00 [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Par défaut Problèlme de mise en forme d'un textbox en format heure 00:00
    Bonjour.
    Je suis débutant en VBA et j'ai créer un formulaire pour remplir quelques cellules.
    Le formulaire écrit directement dans la cellule pas de bouton valider mais uniquement un bouton quitter
    La cellule est avec un format heure personnalisé qui fonctionne très bien si on la renseigne ex : 01:20 donne 02 H 00 et je peut faire des calcul en heure.
    Par contre si je passe par le formulaire le cellule renseignée reste au format 01:20 et mes calculs ne fonctionne plus.
    Voici le code VBA pour renseigner la cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox2_Change()
    [m8] = UserForm2.TextBox2
    End Sub
    J'aimerai une formule simple. J'ai essayé value.format sans résultat.
    Merci de votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [m8] = format(format(UserForm2.TextBox2,"HH:MM"),"@@ H @@")

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Par défaut
    Merci pour ta réponse rapide.
    Je me si peut-être mal exprimé mais je souhaite que dans le textebox le format soit en date 00:00 et que la mise en format dans la cellule de destination soit 00 H 00.
    Si je rentre l'heure manuellement dans la cellule sans passer par le formulaire sous la forme 00:00 dans la cellule on voit bien le formatage personnalisé 02 H 00.
    Quand je passe par le formulaire j'ai comme résultat 00:00 et non 00 H 00
    Si j'utilise ta formule les calculs horaires de ma feuille ne fonctionne plus.

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Par défaut
    J'ai trouvé une solution qui fonctionne parfaitement
    voici le code de la textbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'textbox2 à changer par le nom de ton textbox
    Dim touche_autorisée As String
    touche_autorisée = "[01234567989:]"
    'on ne peut pas taper autre chose que des chiffres
    If Not ChrW(KeyAscii) Like touche_autorisée Then KeyAscii = 0
      'ici on empeche de taper plus de 4 chiffre(2 pour l'heure,2pour les minutes )
      If Len(TextBox2) = 5 Then KeyAscii = 0: Exit Sub
       'ici on empeche de taper plus gros que 2 pour le premier chiffre de l'heure
       If Len(TextBox2) = 0 And Not ChrW(KeyAscii) Like "[0-1-2]" Then KeyAscii = 0
         'ici on empeche de taper plus gros que 3 pour le deuxieme chiffre de l'heure en fonction du premier
         If Len(TextBox2) = 1 And TextBox1.Value = 2 And Not ChrW(KeyAscii) Like "[1-2-3]" Then KeyAscii = 0
            'ici on empeche de taper plus gros que 5 pour les dizaine de minute(59 minutes maximum)
            If Len(TextBox2) = 3 And Not ChrW(KeyAscii) Like "[0-1-2-3-4-5]" Then KeyAscii = 0
    If Len(TextBox2) = 2 Then
      If ChrW(KeyAscii) <> ":" Then KeyAscii = Asc(":")
    End If
    End Sub
    Et pour le bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    [o8] = CDate(TextBox3)
    End Sub
    J'ai bien le format dans Userform 00:00 et dans le feuille de calcul j'ai bien le format 00 H00 format personnalisé dans la cellule. Les calcul horaires fonctionnent.
    Merci de votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/11/2012, 15h09
  2. Réponses: 5
    Dernier message: 17/09/2012, 11h10
  3. Mise en forme d'un email au format HTML
    Par alias666 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 24/10/2008, 11h27
  4. [CR9] Mise en forme de champ avec des formats
    Par Sytchev3 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 01/03/2007, 16h35
  5. [VBA-E] Mise en forme conditionnelle et recherche de format
    Par VinzVVK dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/12/2006, 19h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo