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 :

Question sur UserForm pour condition


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 95
    Points : 30
    Points
    30
    Par défaut Question sur UserForm pour condition
    Bonjour à tous,

    Une question me viens, est-il possible de faire ceci:

    - Quand j'ouvre excel mon interface s'ouvre sa Ok
    -Quand je finis de la remplir celle-ci ferme tout le fichier Ok

    Mais je voudrais faire ceci est-il possible quand je l'ouvre depuis mon bouton sur ma feuil excel qu celle-ci se ferme mais qu'elle ferme pas le fichier.


    si je résume:

    En premier lieux je la remplis condition normal d'utilisation pour les opérateurs.
    Avec transmissions des consignes et à la fin fermeture du fichier plus sauvegarde.

    En second supérieur consulte les archives et de ces archive il veut passer les consignes mais ne veux pas fermer le fichier après.

    juste comme ça j'ai pas besoin de faire deux UserForm une me suffit.

    Si deux son obligatoire je le ferais avec deux.

    Merci à vous bonne journée

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Peut-être que je suis un peu lent lundi matin, mais là, je n'ai absolument rien compris à ce que tu as tenté d'expliquer.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 95
    Points : 30
    Points
    30
    Par défaut
    Mdr Menhir,

    peut être un peut deux toi un peu trop lent et moi un peu trop speed ^^

    bon sinon

    j'ai une version comme ceci pour le moment.



    Procédure actuel

    J'ouvre excel mon Userform s'ouvre je la remplis elle se ferme et le fichier excel se ferme.

    Et je peux accéder à l'userform depuis la feuil excel.




    Procédure que je voudrais modifier.

    Conserver les deux lignes citer au dessus, mais quand j'accède a l'userform depuis la feuil excel je voudrais que celle ci s ferme l'interface une fois remplis mais pas le fichier excel.



    je crois que c'est plus claire.

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur Qualité (Microtechnique)
    Inscrit en
    Février 2016
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Qualité (Microtechnique)
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 188
    Points : 265
    Points
    265
    Par défaut
    C'est pas super clair pour moi mais regarde ça:

    Avant de poser une question avez-vous testé l’enregistreur de macro ?
    http://fauconnier.developpez.com/tut...istreur-macro/
    Merci de passer vos discussion en
    Et sinon un est toujours le bienvenue.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 95
    Points : 30
    Points
    30
    Par défaut
    je crois que c'est pas claire en effet mdr

    pour le moment tous fonctionne bien je juste faire une modification ci celle-ci est nécessaire.

    juste que je dois intégrer un second fonctionnement.

    le premier ce fait au lancement d'excel
    le second a partir d'une feuil dans excel

    il font tous les deux appel au même userform

    Juste une option qui diffère entre les deux.

    je veux que quand l'userform s'ouvre a l'ouverture du classeur celle ci ferme le classeur après remplissage ce code est fait

    Mais la subtilité c'est quand je lance ce même userform depuis une feuille excel je voudrais que celui-ci ne ferme pas le classeur après l'utilisation

    je crois que j'ai enfin réussi a mettre les bon mot

    dur dur le lundi matin mdrrr

  6. #6
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, consultable : Utiliser les UserForm en VBA Excel

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 95
    Points : 30
    Points
    30
    Par défaut
    Salut,

    Mon programme est fait je demande juste si ce que je demande est posssible du même userform ou si je doit en faire un second

  8. #8
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    Bonjour, si je comprends bien, tu voudrais suivant que le userform soit ouvert à l'ouverture du fichier ou depuis un bouton la fermeture du useform entraine la fermeture du fichier ou pas? c'est bien ça?
    Si oui avec une variable globale qui prendrait une valeur différente suivant me mode d'ouverture ça devrait être possible.
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  9. #9
    Membre actif
    Homme Profil pro
    Ingénieur Qualité (Microtechnique)
    Inscrit en
    Février 2016
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Qualité (Microtechnique)
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 188
    Points : 265
    Points
    265
    Par défaut
    Cherche sous Userform_ QueryClose et le paramètre CloseMode
    Avant de poser une question avez-vous testé l’enregistreur de macro ?
    http://fauconnier.developpez.com/tut...istreur-macro/
    Merci de passer vos discussion en
    Et sinon un est toujours le bienvenue.

  10. #10
    Membre actif
    Homme Profil pro
    Ingénieur Qualité (Microtechnique)
    Inscrit en
    Février 2016
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Qualité (Microtechnique)
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 188
    Points : 265
    Points
    265
    Avant de poser une question avez-vous testé l’enregistreur de macro ?
    http://fauconnier.developpez.com/tut...istreur-macro/
    Merci de passer vos discussion en
    Et sinon un est toujours le bienvenue.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 95
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par halaster08 Voir le message
    Bonjour, si je comprends bien, tu voudrais suivant que le userform soit ouvert à l'ouverture du fichier ou depuis un bouton la fermeture du useform entraine la fermeture du fichier ou pas? c'est bien ça?
    Si oui avec une variable globale qui prendrait une valeur différente suivant me mode d'ouverture ça devrait être possible.

    Oui c'est tout à fait sa.

    je vais quand même poster mon code actuel.

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    Private Sub ComboBox1_Change()
     
        Dim MDP As String, Ligne As Long, Rep As Variant
            MDP = InputBox("Entrer votre mot de passe")
     
        'A partir d'ici, le code ne se déroule que lorsque mdp et nom sont corrects.
        With Sheets("Liste")
            If Application.VLookup(Me.ComboBox1.Text, .[C:D], 2, 0) = MDP Then
                Ligne = Application.Match(Me.ComboBox1.Text, .[C:C], 0)
                If .Cells(Ligne, 5).Value = "X" Then Sheets("Fiche d'intervention").Visible = True
                If .Cells(Ligne, 6).Value = "X" Then Sheets("BDD").Visible = True
                If .Cells(Ligne, 7).Value = "X" Then Sheets("Liste").Visible = True
            End If
        End With
     
        Application.Visible = True
        Application.WindowState = xlMaximized
        Unload Me
    End Sub
    Private Sub CommandButton3_Click()
     
        'Déclaration des variables
        Dim MonOutlook As Object
        Dim MonMessage As Object
        Dim MyBench As String
        Dim NumberOfIntervention As String
        Dim Description_du_dysfonctionnement As String
     
        'Condition pour l'envoie du mail
        'Aller dans le module checking pour voir si tous se déroule correctement
        If CheckingFormField.CheckingField = False Then
     
        'Appel du module SaveInBDD1 ceci permet compléter la base de donée
        SaveInBDD1
     
        'Utilisation des variables sous format Non de la feuille plus cellule d'identification
        MyBench = Sheets("Fiche d'intervention").Range("I10").Value
        NumberOfIntervention = Sheets("Fiche d'intervention").Range("N1").Value
        Description_du_dysfonctionnement = Sheets("Fiche d'intervention").Range("C19").Value
     
            'Appel de la l'applicaion Outlook pour crée un mail
            Set MonOutlook = CreateObject("Outlook.Application")
            Set MonMessage = MonOutlook.CreateItem(0)
                MonMessage.BodyFormat = 2
                Corps = "<HTML><BODY>"
                MonMessage.To = "<>"
                MonMessage.CC = "<>"
                MonMessage.Subject = "Demande d'intervention maintenance " & NumberOfIntervention
                ' Le corps du message est divisé en 2 lignes :
                Corps = Corps & "Bonjour Christophe,"
                ' <p> = Touche ENTER
                Corps = Corps & "<p>"
                Corps = Corps & "<p> Voici la demande d'intervention pour le " & "<b>" & MyBench & "</b>" & " ainsi que le numéro d'intervention " & "<b>" & NumberOfIntervention & "</b></p>"
                Corps = Corps & "<p> Voici le problème rencontré : " & "<b>" & Description_du_dysfonctionnement & "</b>"
                Corps = Corps & "<p><a href=""H:\SERVICE\MAINTENANCE PREVENTIVE\Archivage fiche d'intervention maintenance\Fichier excel\Archivage fiche d'intervention maintenance 2016.xlsm"">lien vers l'interface maintenance</a></p>"
                Corps = Corps & "</BODY></HTML>"
                MonMessage.HTMLBody = Corps
                MonMessage.Display
     
            Set MonOutlook = Nothing
     
            'Enlever les alertes
            Application.DisplayAlerts = False
            'Sauvegarder le fichier
            ThisWorkbook.Save
            'Fermer le fichier
            ThisWorkbook.Close
            Application.DisplayAlerts = True
            'Rendre l'Aplication invisible
            Application.Visible = True
     
        End If
     
    End Sub
    Private Sub Systeme_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        'Condition dans l'userform si détection de texte alors je reste au blanc sinon je passe au bleu
        If Systeme.Text = "" Then
            Systeme.BackColor = RGB(128, 224, 253)
        Else
            Systeme.BackColor = vbWhite
        End If
    End Sub
    Private Sub Compteur_Machine_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        'Condition dans l'userform si détection de texte alors je reste au blanc sinon je passe au bleu
        If Compteur_machine.Text = "" Then
            Compteur_machine.BackColor = RGB(128, 224, 253)
        Else
            Compteur_machine.BackColor = vbWhite
        End If
    End Sub
    Private Sub Description_du_dysfonctionnement_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        'Condition dans l'userform si détection de texte alors je reste au blanc sinon je passe au blue
        If Description_du_dysfonctionnement.Text = "" Then
            Description_du_dysfonctionnement.BackColor = RGB(128, 224, 253)
        Else
            Description_du_dysfonctionnement.BackColor = vbWhite
        End If
    End Sub
    Private Sub UserForm_Initialize()
     
        Application.DisplayAlerts = False
        'Récupération du nom de la personne qui utilise le fichier
        Fiche.LblUserProfil.Caption = Environ("username")
        'Afficher la date du jour
        Fiche.LblDate.Caption = Format(Now, "dd/mm/yyyy")
        With Sheets("Liste")
            For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row  'Liste des bancs de la feuille "Liste"
                Systeme.AddItem .Cells(i, 1)
            Next
        End With
        'Liste des noms pour entrer dans la maintenance
        ComboBox1.RowSource = ("Liste")
    End Sub
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
        'Clic sur la croix rouge de l'interface et celle-ci disparait
        Application.Visible = True
        Application.WindowState = xlMaximized
    End Sub
    Voila le Bébé
    En dessous ce que j'aimerais faire si c'est possible.
    Ma difficulté est de dire si je suis sur la Feuil 1 alors quand je fais ma demande je ferme l'userform mais je ne ferme pas le classeur.

  12. #12
    Membre actif
    Homme Profil pro
    Ingénieur Qualité (Microtechnique)
    Inscrit en
    Février 2016
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Qualité (Microtechnique)
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 188
    Points : 265
    Points
    265
    Avant de poser une question avez-vous testé l’enregistreur de macro ?
    http://fauconnier.developpez.com/tut...istreur-macro/
    Merci de passer vos discussion en
    Et sinon un est toujours le bienvenue.

Discussions similaires

  1. Question sur Alias pour Zend
    Par Oribiahn dans le forum Apache
    Réponses: 2
    Dernier message: 30/09/2010, 09h13
  2. question sur userform
    Par 67jero dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/11/2009, 18h26
  3. [XL-2003] Petite question sur Userform "combobox"
    Par Maiden002 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/10/2009, 13h11
  4. Questions sur Openldap pour faire PDC
    Par valal dans le forum Réseau
    Réponses: 4
    Dernier message: 20/04/2006, 10h12

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