Probleme format Textbox

Mtiuc Messages postés 5 Statut Membre -  
via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Après plusieurs heure de recherche je n'arrive pas à trouver la solution à mon problème. je viens donc vers vous en espérant que vous pourrez m'aider.

Je voudrais que quand je tape 1 dans la textbox j'obtienne : 00117
Le Textbox se trouve dans un userform qui s'ouvre automatiquement à l'ouverture du fichier.

J'ai donc essayer le code suivant :

facture.value = Format(facture, "000"&"17")
avec facture : nom du textbox

Le problème : Quand je lance l'userform, un message me dis "erreur de compilation : projet ou bibliothèque introuvable" et Format est surligné en noir.

Pouvez-vous m'aider.

Merci d'avance

6 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir

    Essaie plutôt d'associer cette macro à ton textbox :
    Private Sub facture_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    fac = Val(facture.Value) * 100 + 17
    facture.Value = Format(fac, "00000")
    End Sub


    Cdlmnt
    Via
    0
  2. Mtiuc Messages postés 5 Statut Membre
     
    Bonjour,
    Déjà merci pour la réponse.
    J'ai essayer cette macro mais je n'obtiens pas le résultat voulu.
    Je réexpique le problème :
    J'ai un textbox qui recupere la valeur d'une cellule.
    J'ai un autre textbox qui ajoute 1 au premier textbox en cliquant sur un bouton, de plus je voudrais aussi pouvoir rentrer une valeur manuellement dans le deuxième textbox.
    Ensuite je recupère la valeur du deuxième textbox dans une cellule.
    Je voudrais que les deux textbox soit au format :
    00117 : pour la valeur 1
    01017 : pour la valeur 10
    02517 : pour la valeur 25
    par exemple
    Merci pour votre patience et vos réponse
    0
    1. Mtiuc Messages postés 5 Statut Membre
       
      J'ai du nouveau:
      J'ai essayé le code : TextBox1 = Format (TextBox1, "000")
      dans un nouveau fichier et ça marche.
      Je ne comprend plus rien
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Mtiuc Messages postés 5 Statut Membre
         
        Re

        C'est normal que ça marche puisque tu définis un format valide "000", ce qui n'était pas le cas dans ton premier exemple avec "000"&"17"
        Le problème est l'ajout de ce 17 (qui vient d'où d'ailleurs ?) à la suite de la valeur entré dans le textbox c'est pour cela que je proposais dans ma macro, à la sortie du textbox de multiplier la valeur par 100 et d'ajouter 17 pour que si on rentre 25 dans le textbox, la nouvelle valeur devienne 2517 et qu'avec le format "00000" il s'affiche 02517
        0
  3. Mtiuc Messages postés 5 Statut Membre
     
    Ok j'ai compris le " * 100 + 17 "
    En fait je cherche à obtenir un numéro de facture et le 17 correspond à l'année.
    J'ai donc ajouter la macro mais rien ne se passe.
    Pourquoi utiliser BeforeUpdate ?

    Merci beaucoup pour tes réponse
    0
  4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    L'évenement BeforUpdate se produit à la sortie du textbox à la différence de l'évenement Change qui se produit à chaque changement dans le textbox (donc après TAB ou Entrée)
    Comme on effectue la multiplication par 100 et qu'on rajoute 17 cela ne peut se faire qu'à la fin lorsque la saisie est complète
    Si on le faisait avec l'évenement Change en rentrant 25 cela donnerait 217 à l'entrée du 2 puis 217517 à l'entrée du 5 !
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mtiuc Messages postés 5 Statut Membre
     
    D'accord.
    Il n'y a rien qui se passe.
    Est-ce parce que je récupère une valeur dans une cellule ?
    0
  7. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re

    Peut être, sans connaitre ton fichier et sa macro impossible d'en dire plus
    Postes un exemple de ton fichier sur cjoint.com, fais créer un lien, copies le et reviens le coller ici

    Cdlmnt
    Via
    0