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ème avec userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut problème avec userform
    Bonjour,

    J'ai un petit souci avec une userform. En mode modal, mon code tourne très bien. Mais je souhaite que la page reste accessible, du coup lorsque je passe en mode non modal, l'userform ne se ferme plus, et pire le bouton "valider" que j'ai crée ne fonctionne plus!

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    difficile de répondre sans voir ta procédure.


    michel

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    euuh oui en effet. Donc, en ce qui concerne le code maître:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    For lgcount = 10 To DerniereLigne
        If Trim(Cells(lgcount, 5).Value) <> "Valeur1" And Trim(Cells(lgcount, 5).Value) <> "Valeur2" And _
            Trim(Cells(lgcount, 5).Value) <> "Valeur3" And Trim(Cells(lgcount, 5).Value) <> "Valeur4" And _
            Trim(Cells(lgcount, 5).Value) <> "Valeur5" And Trim(Cells(lgcount, 5).Value) <> "Valeur6" And _
            Trim(Cells(lgcount, 5).Value) <> "Valeur7" Then
                ActiveSheet.Cells(lgcount, 5).Activate
                MsgBox (Cells(lgcount, 5) & " n'est pas un pôle reconnu! Veuillez en choisir un parmi la liste qui suivra.")
            UserForm1.Show
        End If
    Next
    et la 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
    16
    17
    18
    19
    20
    Public Sub CommandButton1_Click()
     
    If ComboBox1.Text <> "" Then
        ActiveCell.Value = ComboBox1.Value
        Unload Me
    End If
     
    End Sub
     
    Public Sub UserForm_Initialize()
     
    ComboBox1.AddItem "Valeur1"
    ComboBox1.AddItem "Valeur2"
    ComboBox1.AddItem "Valeur3"
    ComboBox1.AddItem "Valeur4"
    ComboBox1.AddItem "Valeur5"
    ComboBox1.AddItem "Valeur6"
    ComboBox1.AddItem "Valeur7"
     
    End Sub

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    1°) les procédures de l'UF doivent êtres en 'Private'
    Avec cette modification l'UF s'efface normalement.
    2°) Un UF ne peu être ouvert qu'en modal.

    Suggestions...
    Plutôt que de mettre un MsgBox et ensuite la sélection... supprimé le MsgBox ajouter un label dans UF et y entrer le message, de cette facon tout se fait en 1 seule opération. Et en plus, supprimer le bouton et mettre l'action dans le click du combo.

    J'ai testé, ca fonctionne..
    A+

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    Bonjour,

    D'acc pour le "private"! En revanche:

    ajouter un label dans UF et y entrer le message
    je dois avouer que les UF ne sont pas ma tasse de thé, je viens d'y faire face pour la première fois! C'est exactement ce que je voulais faire d'entrée, rassembler le message et l'UF mais faute de connaissances...Comment faire pour prendre en compte la valeur de ma celluleactive?

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Pour mettre un label c'est pas bien compliqué, quand tu est dans l'éditeur VBA tu ouvre le UF, dés qu'il est ouvert tu peu y glisser les contrôles que tu veux, en l'occurence un label. (dans la boite outils c'est 'intitulé')
    Tu le positionne sur la feuille comme tu veux.

    Ensuite tu peu travailler avec les fonctions VBA
    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub UserForm_Activate()
       'Adresse à adapter bien sur.
       Me.Label1.Caption = Cells(1, 1).Value
    End Sub
    A+

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

Discussions similaires

  1. probléme avec userform
    Par Kenny064 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 13/11/2012, 21h47
  2. Problème avec Userform
    Par jalseth dans le forum Général VBA
    Réponses: 2
    Dernier message: 12/09/2008, 00h01
  3. Réponses: 4
    Dernier message: 25/05/2007, 11h11
  4. [VBA-E] Problème avec une UserForm
    Par jamelie dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 16/05/2007, 14h20
  5. [VBA-E] Problème avec ShowModal dans un UserForm
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/07/2006, 09h19

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