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

VBA Access Discussion :

Changer La valeur d'un champ par 0 (zéro) après avoir coché une case d'option [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 38
    Points : 49
    Points
    49
    Par défaut Changer La valeur d'un champ par 0 (zéro) après avoir coché une case d'option
    Bonjour tout le monde.
    Voilà mon problème: J'ai un formulaire de facturation pour quatre type de facture (Avoir Local, Avoir Export, Vente Locale et Vente Export), choix du type de facture fait par case d'option. Seul les factures de type Avoir Local et Vente Local sont soumis à la TVA.
    Au niveau du sous-formulaire détails facture, j'ai un contrôle indépendant que j'ai nommé [Taux_TVA] avec comme valeur par défaut 18 (taux de la TVA qui ne varie pas).

    Je voudrais, par du code VBA, transformer la valeur 18 par 0 (zéro) si les cases d'options Avoir Local et Vente Locale sont cochées ou bien ne pas activer le calcul du Montant de la TVA et sa prise en compte dans le calcul du Montant TTC.

    Voilà les formules de mes calcules:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Montant HT:  =Somme([Prix]*([PoidsCarton]*[NbCarton]))
     
    Montant TVA: =Somme([Prix]*([PoidsCarton]*[NbCarton]))*[Taux_TVA]/100
     
    Montant TTC: =(Somme([Prix]*([PoidsCarton]*[NbCarton])))+(Somme([Prix]*([PoidsCarton]*[NbCarton]))*[Taux_TVA]/100)
    Je ne sais pas si j'ai été clair mais je compte encore sur vous.

    Merci d'avance et bonne journée.

  2. #2
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Bonjour

    Tu écris un bout de code à partir de cet exemple, à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Forms!NomFormulaire!Options= 1 ou 2 Then
       Forms!NomFormulaire!NomSousFormulaire.Taux_TVA= 0
    Else
       Forms!NomFormulaire!NomSousFormulaire.Taux_TVA= 18
    End If
    Tu le places dans les événements "Sur clic" du contrôle "Options et "Sur activation" du formulaire

    titi95

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 38
    Points : 49
    Points
    49
    Par défaut
    Merci beaucoup Titi95 d'être venu à mon aide.
    J'aimerai savoir; ne devrais-je pas retirer la valeur par défaut (18) du zone de texte "Taux_TVA" ?
    Ensuite dans ton code: Que représente "Options"? Le nom de mon groupe d'option ou bien...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Forms!NomFormulaire!Options= 1 ou 2 Then
       Forms!NomFormulaire!NomSousFormulaire.Taux_TVA= 0
    Else
       Forms!NomFormulaire!NomSousFormulaire.Taux_TVA= 18
    End If

  4. #4
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,
    ...si les cases d'options Avoir Local et Vente Locale sont cochées
    Donc dans ce cas de figure, tu as 4 cases d'option indépendantes...

    Quelles sont les autres conditions de tes cases à cocher

    Avoir Local ou Vente Locale peuvent-elle être utilisées seules

    Dans la table [Facturation] as-tu 4 champs représentant les cases à cocher ou un seul champ reprenant la somme des cases à cocher

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 38
    Points : 49
    Points
    49
    Par défaut
    Tout d'abords merci FreeAccess.

    Toutes les 4 cases à cocher sont indépendantes et n'ont pas de champs dans la table facture.
    A part la numérotation automatique personalisé pour chaque type de facture quand on coche la case appropriée, il n'y a pas d'autre condition.
    Voilà le code de la numérotation automatique personalisée par rapport à la case coché.
    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
    Private Sub TypeFact_AfterUpdate()
    ' Message de confirmation et Numérotation Automatique après choix du type de pièce à éditer.
        Select Case Me.TypeFact.Value
            Case 1
                MsgBox "Vous avez choisi d'éditer un AVOIR de type EXPORT"
                Me.IdFacture = AutoNumber("Factures", "IdFacture", "AVOIR.[YY].19.", 6)
            Case 2
                MsgBox "Vous avez choisi d'éditer un AVOIR de type LOCAL"
                Me.IdFacture = AutoNumber("Factures", "IdFacture", "AVOIR.[YY].29.", 6)
            Case 3
                MsgBox "Vous avez choisi d'éditer une FACTURE de type EXPORT"
                Me.IdFacture = AutoNumber("Factures", "IdFacture", "FACTURE.[YY].11.", 6)
            Case 4
                MsgBox "Vous avez choisi d'éditer une FACTURE de type LOCAL"
                Me.IdFacture = AutoNumber("Factures", "IdFacture", "FACTURE.[YY].21.", 6)
        End Select
    End Sub
    Maintenant j'aimerai aussi que si on coche la case 1 et 3 (Type de facture non soumis à la TVA), la valeur (18) par défaut du champ Taux_TVA de mon sous_formulaire devienne 0 (zéro) pour que la TVA ne soit pas incluse dans le Montant TTC.

  6. #6
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    . . . Hé hé . . . tu maitrise le Select Case
    . . . bien que j'ai l'impression qu'ici tu utilise un Groupe d'options (Seule une option à la fois peut être sélectionnée dans un groupe d'options)

    ..... et que te dit l'aide sur les valeurs que peut prendre Case
    ...Vous pouvez utiliser plusieurs expressions ou plages dans chaque clause Case.

  7. #7
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 38
    Points : 49
    Points
    49
    Par défaut
    Merci beaucoup Titi954 et FreeAcces pour votre aide (conseils et indications).
    Finalement je m'en suis sorti après un grand tour dans l'aide d'access F1.
    Voilà 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
    ' Message demande de confirmation du Type de pièce et Numérotation Automatique personnalisé de la pièce à éditer.
        Select Case Me.TypeFact.Value
        Case 1
            If MsgBox("Êtes-vous sûr de vouloir éditer une pièce AVOIR de type EXPORT?", vbYesNo + vbQuestion) = vbYes Then
            Me.IdFacture = AutoNumber("Factures", "IdFacture", "AVOIR.[YY].19.", 6)
            [Details facture Sous-formulaire].Form![Taux_TVA] = 0
            Else
            DoCmd.CancelEvent
            End If
        Case 2
            If MsgBox("Êtes-vous sûr de vouloir éditer une pièce AVOIR de type LOCAL?", vbYesNo + vbQuestion) = vbYes Then
            Me.IdFacture = AutoNumber("Factures", "IdFacture", "AVOIR.[YY].29.", 6)
            If MsgBox("Est-ce que la pièce doit être soumise à la TVA?", vbYesNo + vbQuestion) = vbYes Then
            [Details facture Sous-formulaire].Form![Taux_TVA] = 18
            Else
            [Details facture Sous-formulaire].Form![Taux_TVA] = 0
            End If
            End If
        Case 3
            If MsgBox("Êtes-vous sûr de vouloir éditer une pièce FACTURE de type EXPORT?", vbYesNo + vbQuestion) = vbYes Then
            Me.IdFacture = AutoNumber("Factures", "IdFacture", "FACTURE.[YY].11.", 6)
            [Details facture Sous-formulaire].Form![Taux_TVA] = 0
            Else
            DoCmd.CancelEvent
            End If
        Case 4
            If MsgBox("Êtes-vous sûr de vouloir éditer une pièce FACTURE de type LOCAL?", vbYesNo + vbQuestion) = vbYes Then
            Me.IdFacture = AutoNumber("Factures", "IdFacture", "AVOIR.[YY].21.", 6)
            If MsgBox("Est-ce que la pièce doit être soumise à la TVA?", vbYesNo + vbQuestion) = vbYes Then
            [Details facture Sous-formulaire].Form![Taux_TVA] = 18
            Else
            [Details facture Sous-formulaire].Form![Taux_TVA] = 0
            End If
            End If
            End Select
    Si vous voyez mieux, je suis prêts à reprendre le travail.
    Encore merci.

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

Discussions similaires

  1. Modifier un champ après avoir coché une case à cocher
    Par Gerpat dans le forum VBA Access
    Réponses: 6
    Dernier message: 03/08/2012, 23h31
  2. visualiser un champ apres avoir coché la case
    Par Daniela dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/07/2008, 13h00
  3. envoyer la valeur d'un champ par email
    Par yoyoo dans le forum Access
    Réponses: 16
    Dernier message: 25/07/2006, 16h18
  4. Probleme Valeur d'un champ par défault
    Par idrobe dans le forum Access
    Réponses: 1
    Dernier message: 14/07/2006, 16h39
  5. message d'erreur lorsque j'essaie de changer la valeur d'un champ.
    Par cladsam dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/06/2006, 15h00

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