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 le ShowModal d'un Userform [XL-2000]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Problème avec le ShowModal d'un Userform
    Bonjour,
    Mon objectif, faire une macro qui supprime la ligne qu'un utilisateur à choisir au préalable.


    Dans ma feuille Excel, j'ai un CommandButton:
    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
    Private Sub CommandButton3_Click()
    Dim Y As Integer
    Do
    ChoixLigne.Show
        Y = Range("I1").Value 'Récupère le n° de ligne
        response = MsgBox("Voulez vous supprimer la ligne n°" & Y & "?", vbQuestion + vbYesNoCancel, "Suppression de constat")
        If response = vbYes Then 'Si Yes, sélectionner la ligne, la supprimer et quitter la procédure
            Rows(Y & ":" & Y).Select
            Selection.Delete Shift:=xlUp
            Exit Sub
            ElseIf response = vbCancel Then 'Si Cancel, quitter la procédure
            Exit Sub
            ElseIf response = vbNo Then 'Si No, boucler et réouvrir le userform demandant la ligne
        End If
    Loop
    End Sub
    Le userform ChoixLigne contient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click() 'Bouton OK
    Range("I1").Clear
    Range("I1").Value = TextBox1 'Le userform demande de saisir le numéro de la ligne dans la TextBox1
    'la Cellule I1 prend la valeur
     
    Unload Me
    End Sub
    Un point important, c'est que l'utilisateur a la possibilité de supprimer les lignes 0 à 2000. Aussi, il doit pouvoir naviguer de haut en bas dans la feuille pour visualiser la ligne qu'il veut supprimer.

    Au départ, j'avais codé tout simplement une inputbox pour que l'utilisateur puisse rentrer le numéro de ligne. Mais je me suis rendu compte qu'il n'y avait pas possibilité de se balader dans la feuille Excel.
    J'ai alors tout de suite penser à un userform avec ShowModal=False

    Mon problème est maintenant le suivant.
    La procédure fonctionne correctement avec ShowModal=True

    Mais du moment ou je mets ShowModal=False, à l'éxécution de la procédure, il ouvre mon userform ChoixLigne et par dessus ma MsgBox.
    Il ne semble donc pas attendre que je clique sur CommandButton1_Click() et passe à la ligne 5 de suite.

    Je ne comprends pas le problème. Peut être que c'est tout simple mais mon noobisme en VBA me bloque.
    Merci d'avance à ceux qui seront m'apporter de l'aide.

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour Loukassit0, re le forum
    Je n'ai pas regardé ta demande et me suis arrété là
    Au départ, j'avais codé tout simplement une inputbox pour que l'utilisateur puisse rentrer le numéro de ligne. Mais je me suis rendu compte qu'il n'y avait pas possibilité de se balader dans la feuille Excel.
    si, tu peux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.InputBox ("essai")
    Bonne fin de journée

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Ça fait presque râler que ce soit aussi simple que ça.
    Vous avez bien fait de pas tout lire.
    Problème résolu. Merci

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

Discussions similaires

  1. Problème avec la date dans un userform
    Par Gige91 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/01/2015, 11h25
  2. Problème avec des données dans un userform
    Par Hef-aîr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/02/2014, 11h54
  3. Problème avec copie de page et userform
    Par thebossof24 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/06/2011, 13h05
  4. Problème avec AnimateWindow + Showmodal
    Par Thierry Laborde dans le forum Delphi
    Réponses: 2
    Dernier message: 25/08/2006, 11h17
  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