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 :

remplacer mgsbox par un userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut remplacer mgsbox par un userform
    Bonjour

    j ai realisé une macro qui dans un premier temps rend visible les onglets cachets, Fais apparaitre un Mgsbox et lance une feuille de saisie etc...

    cette macro fonctionne correctement, cependand j aurais voulu remplacer le mgsbox par un userfor qui me permettrais de mettre le message d alerte en couleur et la je seche peut on incorporer la fenetre userfor pour qu elle apparaisse comme le fais le mgsbox et que au bout de 5 secondes la macro continu

    ma macro et en rouge le message de rappel, je debute dans les userform

    merci pour votre aide

    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
    Sub StocksAlimentsEleveur()
    '
    ' StocksAlimentsEleveur Macro
    '
    
      
        Sheets("2- StocksAlimentsEleveur").Visible = True
        Sheets("Cubage silo info").Visible = True
        Sheets("2- StocksAlimentsEleveur").Select
        Application.DisplayFormulaBar = True
        MsgBox "Pensez à saisir toute les informations sur les Fourrages, les concentrés et les Minéraux" & Chr(10) & _
        "Pensez à rentrer le coût des aliments en € la Tonne brute ainsi que les Taux de MS" & Chr(10) & _
        "Cliquez sur la Touche entré pour Valider la saisie"
        
        Application.Goto Reference:="STOCKALIMENTELEVEURS"
        ActiveSheet.ShowDataForm
        Select Case MsgBox("Avez vous saisie toute les informations", vbYesNo, "Rappel")
        Case vbNo
        'procédure si click sur non
        Application.DisplayFormulaBar = True
        Application.Goto Reference:="STOCKALIMENTELEVEURS"
        ActiveSheet.ShowDataForm
        Sheets("2- StocksAlimentsEleveur").Select
        ActiveWindow.SelectedSheets.Visible = False
        Sheets("Cubage silo info").Select
        ActiveWindow.SelectedSheets.Visible = False
        Sheets("MENU").Select
        Case vbYes
        'procédure si click sur oui
        Sheets("2- StocksAlimentsEleveur").Select
        ActiveWindow.SelectedSheets.Visible = False
        Sheets("Cubage silo info").Select
        ActiveWindow.SelectedSheets.Visible = False
        Sheets("MENU").Select
        
        End Select
        
    
    End Sub

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    Voici une méthode avec Wait. Attention il faut bien penser à mettre le UserForm en Non Modal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UserForm1.Show 'Affiche la Userform (vaut mieux la renommer)
    If Application.Wait(Now + TimeValue("0:00:05")) Then 'Attend 5 seconde
        UserForm1.Hide 'Masque la UserForm
    End If
    Bonne continuation,

    A+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut
    Merci pour ta réponse j ai inseré ton code dans la macro l userform apparait bien a l ecran mais ne ce ferme pas au bout de 5 secondes si je clic sur la croix la macro continue, peut on fermer l userform par un bouton ? ok par exemple

    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
    Sub StocksAlimentsEleveur()
    '
    ' StocksAlimentsEleveur Macro
    '
    
        Sheets("2- StocksAlimentsEleveur").Visible = True
        Sheets("Cubage silo info").Visible = True
        Sheets("2- StocksAlimentsEleveur").Select
        Application.DisplayFormulaBar = True
        RAPPEL.Show 'Affiche la Userform (vaut mieux la renommer)
    If Application.Wait(Now + TimeValue("0:00:05")) Then 'Attend 5 seconde
        RAPPEL.Hide 'Masque la UserForm
        Application.Goto Reference:="STOCKALIMENTELEVEURS"
        ActiveSheet.ShowDataForm
        Select Case MsgBox("Avez vous saisie toute les informations", vbYesNo, "Rappel")
        Case vbNo
        'procédure si click sur non
        Application.DisplayFormulaBar = True
        Application.Goto Reference:="STOCKALIMENTELEVEURS"
        ActiveSheet.ShowDataForm
        Sheets("2- StocksAlimentsEleveur").Select
        ActiveWindow.SelectedSheets.Visible = False
        Sheets("Cubage silo info").Select
        ActiveWindow.SelectedSheets.Visible = False
        Sheets("MENU").Select
        Case vbYes
        'procédure si click sur oui
        Sheets("2- StocksAlimentsEleveur").Select
        ActiveWindow.SelectedSheets.Visible = False
        Sheets("Cubage silo info").Select
        ActiveWindow.SelectedSheets.Visible = False
        Sheets("MENU").Select
        
        End Select
        
    End If
    End Sub

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Ajoute le 0 juste après le RAPPEL.Show (un F1 sur Show, te dira)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RAPPEL.Show 0'Affiche la Userform (vaut mieux la renommer)
    If Application.Wait(Now + TimeValue("0:00:05")) Then 'Attend 5 seconde
    RAPPEL.Hide 'Masque la UserForm
    Pense à mettre les balises de ton code

    une remarque à part! si on a pour une condition seulement 2 variantes; mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Cond Then
       .....
    Else
       ...
    End If
    au lieu des Select case
    Le Activewindow. n'est pas nécessaire

    L'enregistreur de macro aide beaucoup, mais en rajoute énormément

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Ta macro fais la même chose quand on click Oui ou Non?
    Si c'est ça ta macro, surement elle ne fait presque rien

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut
    merci pour ta reponse ca marche impect

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

Discussions similaires

  1. Remplacer le filtre des données Eccel par un UserForm
    Par djhib dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/12/2014, 14h24
  2. remplacer MgsBox par UserForm
    Par bobafric dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/09/2013, 18h57
  3. Remplacer le . par une , dans un userform
    Par baggie dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 16/11/2007, 18h29
  4. [Configuration] remplacement des é par des i
    Par illegalsene dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 18/10/2005, 16h37
  5. [ASP] include remplacer chemin par variable
    Par damn dans le forum ASP
    Réponses: 3
    Dernier message: 01/10/2004, 15h27

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