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 :

VBA probleme affichage et date


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 54
    Par défaut VBA probleme affichage et date
    Bonsoir,
    Je voudrais que lorsqu'on clique sur mon bouton "btnAjouter" (qui permet d'ajouter un client à ma bdd), il affiche le msg d'erreur si tout n'est pas complet mais qu'il ne me rempli pas un nouvel enregistrement dans ma bdd sans avoir toutes les informations.
    Et 2ème problème, pour les 1ers enregistrement il me mets la date sur une ligne et la suivante. Je ne sais pas pourquoi.

    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
    'Procédure permettant d'ajouter un nouveau client dans la base de données
    Private Sub btnAjouter_Click()
        'On teste la saisie des champs dans le formulaire
        If Len(Me.txtNom) = 0 Then
            lblMessage = "Veuillez saisir le nom du client"
            'MsgBox "Veuillez saisir le nom du client"
            Me.txtNom.SetFocus
        ElseIf Len(Me.txtPrenom) = 0 Then
            lblMessage = "Veuillez saisir le prénom du client"
            Me.txtPrenom.SetFocus
        ElseIf Len(Me.txtDateNaissance) = 0 Then
            lblMessage = "Veuillez saisir la date de naissance du client"
            Me.txtDateNaissance.SetFocus
        ElseIf Len(Me.cboProfession) = 0 Then
            lblMessage = "Veuillez sélectionner la profession du client"
            Me.cboProfession.SetFocus
        ElseIf Len(Me.cboPaiement) = 0 Then
            lblMessage = "Veuillez sélectionner la fréquence de paiement"
            Me.cboPaiement.SetFocus
        ElseIf Len(Me.txtNbPersonne) = 0 Then
            lblMessage = "Veuillez saisir le nombre de personne à assurer auprès du client"
            Me.txtNbPersonne.SetFocus
        ElseIf (Me.OptnAcciCorpNon) = False And (Me.OptnAcciCorpOui) = False Then
            lblMessage = "Veuillez choisir si le client prend une assurance d'accidents corporels du client"
            Me.txtPrenom.SetFocus
        Else
            lblMessage = ""
        End If
     
     
        Sheets("Clients").Activate
        Range("A1").Select
        Selection.End(xlDown).Select 'On se positionne sur la dernière ligne non vide
        Selection.Offset(1, 1).Select 'On se décale d'une ligne vers le bas
        ActiveCell = txtNom.Value
        ActiveCell.Offset(0, 1).Value = txtPrenom
        ActiveCell.Offset(0, 2).Value = txtDateNaissance
        ActiveCell.Offset(0, 3).Value = cboProfession
        ActiveCell.Offset(0, 4).Value = cboAssuranceHospi
        If (Me.OptnAcciCorpOui) = True Then
            ActiveCell.Offset(0, 5).Value = "Oui"
        Else
            ActiveCell.Offset(0, 5).Value = "Non"
        End If
        ActiveCell.Offset(0, 6).Value = txtCapitaux
        ActiveCell.Offset(0, 7).Value = txtNbPersonne
     
       With ActiveSheet.ListObjects(1)
            'si dernière ligne du tableau non vide, ajout d'une ligne
            If .ListColumns("Num Client").DataBodyRange.Rows(.ListRows.Count) <> Empty Then .ListRows.Add
            'incrémentation automatique du numéro de client
            .ListColumns("Num Client").DataBodyRange.Rows(.ListRows.Count) = Application.Max(.ListColumns("Num Client").DataBodyRange) + 1
     
     
            If .ListColumns("Date d'enregistrement").DataBodyRange.Rows(.ListRows.Count) <> Empty Then .ListRows.Add
            .ListColumns("Date d'enregistrement").DataBodyRange.Rows(.ListRows.Count) = "=TODAY()"
     
     
        End With
     
     
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour

    Question de logique, déjà : -->> regarde les commentaires --->>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if ... then ' --->> si ... alors
    ...
    else if ... then ' --->> sinon si ... alors
    ...
    else if ... then ' --->> sinon si ... alors
    ...
    else ' --->> sinon
    ...
    end if
    dès qu'une condition sera vérifiée, il ne vérifiera bien évidemment pas les autres (puisque aucun "sinon") .

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 54
    Par défaut
    Le début est fait exprès comme ça tant que le champ n'est pas validé, le message t'indique l'erreur, puis quand tu essayes de valider il te dit si il y a une autre erreur

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 54
    Par défaut
    J'ai trouvé merci

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

Discussions similaires

  1. [Struts-Layout] probleme affichage layout:date
    Par valkeke dans le forum Struts 1
    Réponses: 3
    Dernier message: 09/12/2009, 18h26
  2. Probleme affichage de date
    Par charlie0801 dans le forum ASP
    Réponses: 5
    Dernier message: 04/06/2008, 16h15
  3. [VBA-E]probleme affichage date excel a partir d'une DTPicker VBA [15/02/07]
    Par gromorice dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 15/02/2007, 17h05
  4. [.NET][Access] Probleme affichage date
    Par fab3131 dans le forum Access
    Réponses: 2
    Dernier message: 26/05/2006, 13h35
  5. Probleme avec affichage de date
    Par Wongmaster dans le forum Access
    Réponses: 27
    Dernier message: 24/12/2004, 20h51

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