13 sept. 2019

Mon Premier Programme VB Access


Mon Premier Programme consiste consiste à créer un formulaire qui permet de faire l'addition de deux variables (deux nombres) puis affiche la somme de ses deux nombres et avec la possibilité d'enregistrer les opérations effectuées dans la liste à droite de cet formulaire, ce formulaire contient deux boutons , le bouton Calculer qui permet d'exécuter le code qui va faire la somme , le bouton RAZ pour initialiser les valeurs dans les trois(3) zones de texte.
l'interface contient aussi une zone de texte qui nous permet d'afficher les erreurs d'exécution de ce programme.

⤿ Sur chargement du formulaire je vais exécuter le code suivant:
Private Sub Form_Load()
    Me.txtN1 = Null
    Me.txtN2 = Null
    Me.txtSomme = Null
    Me.txtSomme.Enabled = False
End Sub
⤿ Le bouton Calculer je le nomme "btnCalculer" sur l'événement clic de ce bouton je vais  vais exécuter le code code suivant qui permet de faire la somme des nombres
Private Sub btnCalculer_Click()
Dim somme As Double
Dim str As String
If Not IsNull(Me.txtN1) And Not IsNull(Me.txtN2) Then
    If IsNumeric(Me.txtN1) And IsNumeric(Me.txtN2) Then
        somme = CDbl(Me.txtN1) + CDbl(Me.txtN2)
        Me.txtSomme = somme
        str = Me.txtN1 & " +  " & Me.txtN2 & " = " & somme
        Me.txtList.AddItem str
        Me.txtMsgErreur = Null
    Else
      MsgBox "Essayer de saisir des valeurs numériques ", vbCritical, "Erreur de sasie"
    End If
Else
MsgBox "essayer svp de saisir des valeurs correctes", vbCritical, "Erreur de saisie"
End If
End Sub

⤿ Ajouter le code VBA suivant  Sur l'événement Clic du bouton RAZ  (comme nom  de la variable pour cette bouton :btnRaz )  pour initialiser les valeurs des champs :
Private Sub btnRaz_Click()
    Me.txtN1 = Null
    Me.txtN2 = Null
    Me.txtSomme = Null
End Sub

⤿ Pour Contrôler les données saisies dans les  zones de textes txtN1 et txtN2, on va utiliser l’événement BeforeUpdate pour ces deux champs: donc directement  après l’instruction  Option Compare Database on déclare une variable globale "erreur" (Dim erreur As String) où va enregistrer les erreurs commises et on va écrire le code suivant pour ces deux champs .
Le code VBA pour le champs txtN1 :
Private Sub txtN1_BeforeUpdate(Cancel As Integer)
    If Not IsNumeric(Me.txtN1) Then
       Cancel = True
       erreur = erreur & vbCrLf & " - La valeur du champs txtN1 non numérique! "
       Me.txtMsgErreur = erreur
    End If
    If IsNull(Me.txtN1) Then
      Cancel = True
      erreur = erreur & vbCrLf & " - la valeur saisie est nulle !!"
      Me.txtMsgErreur = erreur
    End If
End Sub


Le code VBA pour le champs txtN2 :
Private Sub txtN2_BeforeUpdate(Cancel As Integer)
    If Not IsNumeric(Me.txtN2) Then
        Cancel = True
        erreur = erreur & vbCrLf & " - la valeur de txtN2  est non numérique"
        Me.txtMsgErreur = erreur
    End If
    If IsNull(Me.txtN2) Then
        Cancel = True
        erreur = erreur & vbCrLf & " - le valeur de txtN2 est nulle"
    End If
End Sub

⤿ Pour Supprimer les éléments enregistrées dans la zone de liste (txtList comme le nom de variable), ajouter l'événement DblClick (double clic sur la zone de liste)
Private Sub txtList_DblClick(Cancel As Integer)
    If Me.txtList.ListIndex > -1 Then
        Me.txtList.RemoveItem Me.txtList.ListIndex
    Else
        MsgBox "Essayer de selectionner un élément de la liste ", vbInformation, "Erreur de suppression"
    End If
End Sub


🔗 Télécharger le Code Source   : Mon Premier Programme VBA


👉Pour plus de détail , Regarder la vidéo de ce Cours  (Partie  01)

👉Pour plus de détail , Regarder la vidéo de ce Cours  (Partie  02)


***********************


***********************

1 commentaire:

  1. merci de votre enseignement
    merci de me porter secour sur ce problemme:
    le code VbA pour supprimer enregistrement selon id_tilmide ds la table eleves ne repond pas

    RépondreSupprimer