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 et code vba


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Apprenti sur Excel
    Inscrit en
    Avril 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Apprenti sur Excel

    Informations forums :
    Inscription : Avril 2018
    Messages : 3
    Par défaut Problème avec Userform et code vba
    Bonjour,

    J'ai créer un tableau pour la réservation d'un voyage en car (qui pourras évoluer dans toutes manifestations avec places limité ou non) avec un Userform (réaliser à l'aide de tuto) mais je dois avoir un problème avec le code.

    Je m'explique :

    ===>Il me valide les valeurs dans la feuille ouverte et non dans la feuille "Registre" systématiquement.

    ===>Dans la feuille "Registre", le calcul du nombre de personne sur la première ligne ne prend pas en compte les valeur inscrit via l'Userform.

    ===>Dans l'Userform je souhaiterais qu'à côté des mentions "Adulte", "Enfant" et "Entrée seul, etc." (voir indication dans l'Userform (Crtl + L) soit inscrit le montant correspondant inscrit dans la feuille "Base" selon la ville.

    ===>Avoir les coordonnées ainsi que les autres information une fois le nom et prénom rentrée (si déjà inscrit) et bloquer la validation d'un nouveau contact mais juste pouvoir la modifier.

    J'espère que vous me compreniez et que je vous en demande pas trop mais je débute seulement avec la VBA et l'Userform.

    Merci pour votre aide.

    Voici le fichier : TEST USERFORM.xlsm

  2. #2
    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
    Par défaut
    Bonjour,

    Comme la plupart des gens sensés , je n'ouvre pas les fichiers avec macro...
    Peux-tu exposer un problème en mettant ici le bout de code relatif à ce problème, et en utilisant le bouton # pour le formater ?

    Sans avoir vu ton code, je pense que c'est peut-être parce que tu ne nommes pas tes feuilles explicitement...

    NB: pour des problèmes de macros, il y a un autre forum spécifique.
    Edit: le message a voyagé en même temps que ma réponse...

  3. #3
    Candidat au Club
    Homme Profil pro
    Apprenti sur Excel
    Inscrit en
    Avril 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Apprenti sur Excel

    Informations forums :
    Inscription : Avril 2018
    Messages : 3
    Par défaut Voici mon code
    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
    'Pour le formulaire
    Private Sub UserForm_Initialize()
    Dim J As Long
            Dim I As Integer
     
            ComboBox2.ColumnCount = 1 'Pour la liste déroulante Civilité
            ComboBox2.List() = Array("", "M.", "Mme", "Mlle")
            Set Ws = Sheets("Registre") 'Correspond au nom de votre onglet dans le fichier Excel
            With Me.ComboBox1
                    For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
                           .AddItem Ws.Range("A" & J)
                    Next J
            End With
            For I = 1 To 10
                        Me.Controls("TextBox" & I).Visible = True
            Next I
    End Sub
     
    'Pour la liste déroulante Code client
    Private Sub ComboBox1_Change()
             Dim Ligne As Long
             Dim I As Integer
     
             If Me.ComboBox1.ListIndex = -1 Then Exit Sub
             Ligne = Me.ComboBox1.ListIndex + 2
            ComboBox2 = Ws.Cells(Ligne, "B")
             For I = 1 To 10
                     Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 2)
     
             Next I
    End Sub
     
    'Pour le bouton Nouveau contact
    Private Sub CommandButton1_Click()
            Dim L As Integer
              If MsgBox("Confirmez-vous l’insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
                    L = Sheets("Registre").Range("a65536").End(xlUp).Row + 1
                    Range("A" & L).Value = ComboBox1
                    Range("B" & L).Value = ComboBox2
                    Range("C" & L).Value = ComboBox3
                    Range("D" & L).Value = ComboBox4
                    Range("E" & L).Value = TextBox1
                    Range("F" & L).Value = TextBox2
                    Range("G" & L).Value = TextBox3
                    Range("H" & L).Value = TextBox4
                    Range("I" & L).Value = TextBox11
                    Range("J" & L).Value = TextBox5
                    Range("K" & L).Value = TextBox6
                    Range("L" & L).Value = TextBox7
                    Range("O" & L).Value = TextBox8
                    Range("Q" & L).Value = TextBox9
                    Range("R" & L).Value = TextBox10
            End If
    End Sub
     
    'Pour le bouton Modifier
    Private Sub CommandButton2_Click()
            Dim Ligne As Long
            Dim I As Integer
     
            If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
                    If Me.ComboBox1.ListIndex = -1 Then Exit Sub
                    Ligne = Me.ComboBox1.ListIndex + 2
                    Ws.Cells(Ligne, "B") = ComboBox2
                    For I = 1 To 10
                            If Me.Controls("TextBox" & I).Visible = True Then
                                    Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
                     End If
            Next I
     End If
    End Sub
     
    'Pour le bouton Quitter
    Private Sub CommandButton3_Click()
     Unload Me
    End Sub

Discussions similaires

  1. Problème avec glew et code::blocks
    Par f56bre dans le forum OpenGL
    Réponses: 14
    Dernier message: 26/10/2017, 11h46
  2. Problème avec SQL dans code VBA
    Par glemoin dans le forum IHM
    Réponses: 7
    Dernier message: 01/06/2014, 10h50
  3. Problème avec "update" du code ASP
    Par ocean_prince11 dans le forum ASP
    Réponses: 14
    Dernier message: 24/11/2006, 18h56
  4. Problème avec l'export en VBA
    Par ludvax dans le forum Access
    Réponses: 4
    Dernier message: 24/02/2006, 14h38

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