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 :

Aide sur les userforms


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de a.dequidt
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Par défaut Aide sur les userforms
    Bonjour,

    j'ai crée un userform, avec une zone de saisie, et un bouton valider.
    dans la zone de saisie, l'utilisateur doit entrer un nombre, je dois récupérer ce nombre pour pouvoir m'en reservir (ça semble logique) :p
    j'ai coller ce nombre dans une cellule de mon tableau excel, et au lieu de m'afficher le nombre que j'ai entré, il m'affiche:
    05/01/1900


    je vous montre mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub CommandButton1_Click()
        Dim i As Integer
        i = TextBox1.Value
        Call test(i)
        Unload Me
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub test(i)
        Windows("Logiciel.xls").Activate
        Range("M1").Value = i
    End Sub

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Par défaut
    La case en question n'a pas été formaté (clic droit, format de la celleule) pour contenir une date ? Auquel cas, l'entier i aura été converti en date (i = nombre de seconde depuis 01/01/1900 par exemple).

  3. #3
    Invité
    Invité(e)
    Par défaut
    Pour un nombre à 2 décimales avec séparateur de milliers.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.NumberFormat = "#,##0.00"
    A adapter en fonction de votre type de données numériques

  4. #4
    Membre confirmé Avatar de a.dequidt
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 144
    Par défaut
    La solution de Solkien ce qu'il me fallait

    par contre j'aimerai faire un test sur ce que l'utilisateur entre (enfait y'a 2 tests a faire),
    Le 1er, vérifier qu'il a bien entré un entier
    Le 2eme, que la valeur qu'il a rentré en < a 26

    Aurore

  5. #5
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Le test de la saisie d'un entier est déja effectué puisque que i est de type integer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim i As Integer
    i = TextBox1.Value
    pour le 2 eme test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub test(i)
        Windows("Logiciel.xls").Activate
        If i < 26 Then
            Range("M1").Value = i
        End If
     
    End Sub

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Citation Envoyé par jfontaine Voir le message
    Le test de la saisie d'un entier est déja effectué puisque que i est de type integer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim i As Integer
    i = TextBox1.Value
    pour le 2 eme test
    [CODE]
    Pas si simple que cela, car si tu rentres un chiffre qui n'est pas de type Integer (rentre 1 000 000 pour voir), tu vas avoir une erreur 06 pour dépassement de capacité, il va falloir gérer cette erreur.

    Starec

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir,

    Un bon million de façons de traiter la chose...
    En voilà une "rigolote" (et loin d'être la plus simple) ... juste pour rigoler...:

    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
    18
    Private Sub Command2_Click()
      Dim a As String
      a = "10000000.2"
      MsgBox controlons(a)
      a = "100000002"
      MsgBox controlons(a)
      a = "10000000a"
      MsgBox controlons(a)
    End Sub
     
     
     Private Function controlons(b As String) As String
       If Len(Trim(Str(Val(b) \ 1))) = Len(b) Then
          controlons = "entier"
       Else
          controlons = "non entier ou non numérique"
       End If
    End Function
    Allez !
    Je vous laisse découvrir toutes celles qui sont plus simples (elles sont légion)...

    Bonne continuation

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

Discussions similaires

  1. [XL-2003] Besoind'aide sur les userforms
    Par cedric cc dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/03/2011, 22h07
  2. Aide sur les groupes (ADO)
    Par portu dans le forum QuickReport
    Réponses: 3
    Dernier message: 18/08/2004, 16h13
  3. Filemaker ... besoin d'aide sur les Plugin
    Par joange dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 22/04/2004, 10h16
  4. Petite aide sur les triggers ?
    Par krimson dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 16/04/2004, 16h28
  5. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19

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