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 :

Mettre certains champs d'un userform a vide à l'ouverture


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 23
    Par défaut Mettre certains champs d'un userform a vide à l'ouverture
    Bonjour à toutes et à toutes,
    Après avoir consulté le forum, je n'ai pas trouvé de réponse à mon problème.
    Voici mon problème :
    J'ai un bouton qui commande l'ouverture d'un userform et je voudrai qu'a l'ouverture, certains combobox soient à blanc. J'ai essayé de placer la fonction initialize dans la macro du bouton3 mais cela ne marche pas.

    Ci-dessous la macro affectée à mon bouton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub Bouton3_QuandClic()
    Load userform1
    userform1.Show
    ComboBox3.Clear
    ComboBox4.Clear
    ComboBox5.Clear
    ComboBox6.Clear
    End Sub
    Et voici les macros des boutons du du userform
    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
     
    Private Sub commandbutton1_Click() 
    Unload userform1
    End Sub
     
    Private Sub Bt_valider_Click()
    [o4] = userform1.TextBox3
    [g6] = userform1.ComboBox5
    [b22] = userform1.ComboBox5
    [b23] = userform1.ComboBox6
    [H22] = userform1.ComboBox3
    [H23] = userform1.ComboBox4
    [o22] = userform1.ComboBox2
    [o23] = userform1.TextBox5
    End Sub
    Merci d'avance pour aide.

  2. #2
    Membre éprouvé
    Inscrit en
    Janvier 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 132
    Par défaut
    Bonjour
    Il faut mettre les fonctions d'initialisation dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialize()
    ComboBox3.Clear
    ComboBox4.Clear
    ComboBox5.Clear
    ComboBox6.Clear
    End Sub
    de ta Userform1
    Slts

  3. #3
    Membre averti
    Inscrit en
    Août 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 23
    Par défaut Cela ne fonctionne pas
    Merci mais cela ne fonctionne pas.

    Y a t'il une instruction a ajouter ?

    Ci-dessous les macros de mon userform après modif. (j'ai aussi ajouté un bouton2 pour RAZ des valeurs selectionées)
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Private Sub UserForm1_Initialize()
    userform1.ComboBox3.Clear
    userform1.ComboBox4.Clear
    userform1.ComboBox5.Clear
    userform1.ComboBox6.Clear
    End Sub
     
    Private Sub commandbutton1_Click()
    Unload userform1
    End Sub
     
    Private Sub Bt_valider_Click()
    [o4] = userform1.TextBox3
    [g6] = userform1.ComboBox5
    [b22] = userform1.ComboBox5
    [b23] = userform1.ComboBox6
    [H22] = userform1.ComboBox3
    [H23] = userform1.ComboBox4
    [o22] = userform1.ComboBox2
    [o23] = userform1.TextBox5
    End Sub
     
    Private Sub CommandButton2_Click()
    userform1.ComboBox3.Clear
    userform1.ComboBox4.Clear
    userform1.ComboBox5.Clear
    userform1.ComboBox6.Clear
    End Sub
     
    Private Sub UserForm_Click()
     
    End Sub
    Je précise que les combobox en question sont liés a des cellules d'une autre feuille nommée "data".

  4. #4
    Membre éprouvé
    Inscrit en
    Janvier 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 132
    Par défaut
    Bonjour
    c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub UserForm_Initialize()
    et non pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub UserForm1_Initialize()
    A moins que les versions de VBA n'ait évolué
    Il faut aller chercher les procédures événementielles via les menus déroulants en haut de l'éditeur VBA
    Slts

  5. #5
    Membre averti
    Inscrit en
    Août 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 23
    Par défaut OK mais c'est bouton3 qui bug
    Donc maintenant c'est la macro affectée a bouton3 qui bug

    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Bouton3_QuandClic()
    Load userform1
    userform1.Show
    End Sub
    Donc que faut il faire ?

    De plus je voulais exécuter une msgbox en cliquant sur mon bouton valider et ça marche pas ci-dessous codes userform et bouton (j'ai mis un ' devant ce qui bug pour que le reste fonctionne)
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Private Sub UserForm_Initialize()
    userform1.ComboBox3.Clear
    userform1.ComboBox4.Clear
    userform1.ComboBox5.Clear
    userform1.ComboBox6.Clear
    End Sub
     
    Private Sub commandbutton1_Click()
    Unload userform1
    End Sub
     
    Private Sub Bt_valider_Click()
    'Dim msg, style, title, mystring
    'msg = "Votre saisie est correcte ??"
    'style = vbYesNo + vbdefault1
    'title = "ATTENTION"
    'reponse = MsgBox(msg, style, title, mystring)
    'If reponse = vbYes Then
    'mystring = "oui"
    [o4] = userform1.TextBox3
    [g6] = userform1.ComboBox5
    [b22] = userform1.ComboBox5
    [b23] = userform1.ComboBox6
    [H22] = userform1.ComboBox3
    [H23] = userform1.ComboBox4
    [o22] = userform1.ComboBox2
    [o23] = userform1.TextBox5
    Unload userform1
    'Else
    'mystring = "non"
    'userform1.ComboBox3.Clear
    'userform1.ComboBox4.Clear
    'userform1.ComboBox5.Clear
    'userform1.ComboBox6.Clear
    'End If
    End Sub
     
    Private Sub CommandButton2_Click()
    userform1.ComboBox3.Clear
    userform1.ComboBox4.Clear
    userform1.ComboBox5.Clear
    userform1.ComboBox6.Clear
    End Sub
     
    Private Sub UserForm_Click()
     
    End Sub
    Je pense que c'est parce que les lignes de codes sont mal placées ??

  6. #6
    Membre éprouvé
    Inscrit en
    Janvier 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 132
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Bouton3_Click()
    Userform1.Show
    End Sub
    Ce sera suffisant, regarde quand même cet évènement QuandClic(), je connais pas
    Ensuite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim msg, style, title, mystring
    msg = "Votre saisie est correcte ??"
    style = vbYesNo + vbdefault1
    title = "ATTENTION"
    reponse = MsgBox(msg, style, title, mystring)
    If reponse = vbYes Then
    mystring = "oui"
    C'est pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Msg As String, Style As String, Title As String, Mystring As String
    Msg = "Votre saisie est correcte ??"
    Style = vbYesNo + vbDefaultButton1
    Title = "ATTENTION"
    reponse = MsgBox(Msg, Style, Title)
    If reponse = vbYes Then Mystring = "oui"
    C'est mieux (testé et approuvé)
    Slts

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

Discussions similaires

  1. Mettre le champ d'un formulaire a vide après enregistrement.
    Par rob1son76 dans le forum VBA Access
    Réponses: 26
    Dernier message: 12/10/2016, 15h00
  2. Réponses: 5
    Dernier message: 18/11/2009, 10h08
  3. [AC-2003] Afficher le résultat d'une requete même si certains champs vides
    Par moilou2 dans le forum Requêtes et SQL.
    Réponses: 17
    Dernier message: 30/07/2009, 14h45
  4. comment mettre certains champs d'une liste deroulante en gris
    Par eclipse012 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/09/2006, 17h26
  5. Retourné des lignes dont certains champs sont vides
    Par griese dans le forum Langage SQL
    Réponses: 5
    Dernier message: 27/06/2006, 10h23

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