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 :

Renvoi de donnée avec une User Form


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    perso
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : perso

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Renvoi de donnée avec une User Form
    Bonjour,

    Comme je commence, pouvez vous m'aider ?

    Dans le fichier "mastery",

    - quand je clique bouton "nouveau" ouverture du UserForm : FRM_Entrée (Fait)
    Pb : si validation avec le bouton "valide" et que le champ "Plaque d'immatriculation" est vide qu'il ne le valide pas, et qu'il en demande un.

    - Quand les données sont validées qu'elles remplisse le tableau du Fichier "Audit" (Fait)
    Pb : lors de cette exécution il faudrait prendre les valeurs "Marque et Capacité " du fichier "Divers" et les importer dans la colonnes en face du N° de plaque correspondant.

    - Enfin si le fichier "audit" se trouve ouvert lors d'un enregistrement, qu'il le précise et attende qu' il soit fermé pour enregistrer les données.

    les fichiers "Audit et Divers" ne peuvent pas contenir de VBA, tout doit se faire à partir du Fichier "Mastery".

    espérant avoir été clair, merci à vous de m'aider
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    bonjour,

    mettre dans les les propriété de textbox1 en tabindex = 1

    et mettre ce code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If TextBox1.Value = "" Then
    MsgBox "vous devez entrer une plaque d'immatriculation avant de pouvoir continuer"
    Cancel = True
    End If
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    perso
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : perso

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut merci
    merci a toi bboy-eazy,

    j'ai fais ce que tu m'as dit et ca fonctionne, par contre quand je clic le bouton "Annuler" ou la croix de la fenêtre, il me met le message de la plaque manquante
    d'où ma question, comment faire pour que le message n'apparaisse pas si j'annule ou quitte ?

    merci
    cdt

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Dans le code de ton bouton Valide, au tout début, vérifie qu'il y a bien l'immatriculation avant d'aller plus loin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If TextBox1.Value = "" Then
       MsgBox "vous devez entrer une plaque d'immatriculation avant de pouvoir continuer"
       Exit sub
    End If

  5. #5
    Candidat au Club
    Homme Profil pro
    perso
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : perso

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Userform
    Merci parmi, le forum

    merci d'avoir résolu cette partie:

    Dans le fichier "mastery",
    - quand je clique bouton "nouveau" ouverture du UserForm : FRM_Entrée (Fait)
    Pb : si validation avec le bouton "valide" et que le champ "Plaque d'immatriculation" est vide qu'il ne le valide pas, et qu'il en demande un.

    serait-il possible de voir pour la seconde partie:

    Dans le fichier "mastery",
    - Quand les données sont validées qu'elles remplisse le tableau du Fichier "Audit" (Fait)
    Pb : lors de cette exécution il faudrait prendre les valeurs "Marque et Capacité " du fichier "Divers" et les importer dans la colonnes en face du N° de plaque correspondant.

    merci de votre aide(c'est assez urgent svp)

  6. #6
    Candidat au Club
    Homme Profil pro
    perso
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : perso

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Userform
    Bonjour le forum,

    Il n'y a personne pour repondre à la deuxième partie du problème?
    c'est pourtant celle qui me pose le plus gros souci.

    si une âme charitable pouvait m'aider.

    Cdt

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Essaie comme ceci.
    NB: Je n'ai pas inclus la validation des champs

    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
    Private Sub CommandButton1_Click()
        Dim dest As Range
        Dim i As Byte
        Dim ch As String
        Dim AuditBook As Workbook, DiversBook As Workbook, CurBook As Workbook
        Dim Recherche As Range
     
        If TextBox1.Value = "" Then
            MsgBox "vous devez entrer une plaque d'immatriculation avant de pouvoir continuer"
            Exit Sub
        End If
     
        Application.ScreenUpdating = False
     
        Set CurBook = ActiveWorkbook
     
        'Ouverture du fichier Audit
        Chemin = ActiveWorkbook.Path & "\" & CurBook.Worksheets("Master").Range("G2").Value ''Change le chemin au besoin
        If Not IsOpen(CurBook.Worksheets("Master").Range("G2").Value) Then
            Workbooks.Open Filename:=Chemin
        Else
            Windows(CurBook.Worksheets("Master").Range("G2").Value).Activate
        End If
        Set AuditBook = ActiveWorkbook
     
        'Ouverture du fichier Divers
        Chemin = ActiveWorkbook.Path & "\" & CurBook.Worksheets("Master").Range("G3").Value 'Change le chemin au besoin
        If Not IsOpen(CurBook.Worksheets("Master").Range("G3").Value) Then
            Workbooks.Open Filename:=Chemin
        Else
            Windows(CurBook.Worksheets("Master").Range("G3").Value).Activate
        End If
        Set DiversBook = ActiveWorkbook
     
        With AuditBook.Worksheets("Auditeur")
            Set dest = IIf(.Range("A2").Value = "", .Range("A2"), .Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
            dest.Offset(0, 0).Value = TextBox1.Value
            dest.Offset(0, 6).Value = TextBox3.Value
     
            For i = 1 To 4
                If Me.Controls("OptionButton" & i).Value = True Then
                    dest.Offset(0, 3).Value = Me.Controls("OptionButton" & i).Caption
                    Exit For
                End If
            Next i
     
            Set Recherche = DiversBook.Sheets("Entretien").Columns("A").Find(Me.TextBox1, LookIn:=xlValues, LookAt:=xlWhole)
            If Not Recherche Is Nothing Then
                dest.Offset(0, 1).Value = DiversBook.Sheets("Entretien").Range("B" & Recherche.Row)
                dest.Offset(0, 2).Value = DiversBook.Sheets("Entretien").Range("C" & Recherche.Row)
            Else
                MsgBox "Le numéro de plaque n'existe pas dans le fichier Divers"
            End If
     
            dest.Offset(0, 5).Value = CurBook.Worksheets("Master").Range("A3").Value
            dest.Offset(0, 4).Value = CurBook.Worksheets("Master").Range("A2").Value
     
            AuditBook.Close True
            DiversBook.Close True
        End With
     
        Worksheets("Master").Select
        Range("A1").Select
     
        Unload Me
        Application.ScreenUpdating = False
     
        Set CurBook = Nothing
        Set AuditBook = Nothing
        Set DiversBook = Nothing
    End Sub
     
    Function IsOpen(Nom As String)
        On Error Resume Next
        IsOpen = IsObject(Workbooks(Nom))
        On Error GoTo 0
    End Function

  8. #8
    Candidat au Club
    Homme Profil pro
    perso
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : perso

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Userform
    Parmi, le forum,

    Merci à toi, cela est comme je voulais,
    par contre quand je rentre la plaque d'immatriculation et que je veux allez sur le champ suivant "commentaire" le Userform s'efface et je dois recliquer sur nouveau pour continuer, Est-ce normal ?

    cdt

  9. #9
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Non, ce n'est pas normal, à moins que tu aies mis du code dans Textbox1_Exit() ou quelque chose comme ça.
    Ça peut dépendre de la façon dont tu as géré la validation de la plaque (?)

  10. #10
    Candidat au Club
    Homme Profil pro
    perso
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : perso

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Userform
    Parmi, le forum,

    Parmi merci de m'avoir aidé, j'ai pu mettre en oeuvre tes conseils,
    merci encore.

    Cdt

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

Discussions similaires

  1. MAJ formulaire/données avec nom user
    Par eddyG dans le forum Access
    Réponses: 4
    Dernier message: 12/05/2006, 20h48
  2. Réponses: 4
    Dernier message: 09/05/2006, 10h29
  3. [VB.NET] Comment recuperer de donnée sur une autre form?
    Par weelo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/04/2006, 13h47
  4. [format des données avec une procédure stockée]
    Par viny dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 10/03/2005, 13h24
  5. Réponses: 2
    Dernier message: 14/05/2004, 14h32

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