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 :

[A-07] Boucle en vb


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par défaut [A-07] Boucle en vb
    Bonjour, et désolé si je ne suis pas sur le bon post
    J'ai étudié beaucoup de propositions similaires a mon probleme mais rien trouvé!

    en VB j'ai ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    If Texte40 = 4 Then
        texte43 = ([PRO_PRICE] * [IMP_QUANTITY]) * (1.196 - 1)
    End If
    If Texte40 = 4 Then
        Texte45 = 0
    End If
     
    If Texte40 = 5 Then
        Texte45 = ([PRO_PRICE] * [IMP_QUANTITY]) * (1.055 - 1)
    End If
    If Texte40 = 5 Then
        texte43 = 0
    End If
    Le probleme est que ça marche mais uniquement pour le 1er enregistrement
    Si quelqu'un pouvait m'aider, j'aimerai appliquer tout ce bloc pour chaque enregistrement.
    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour et bienvenue sur nos forums.


    Il faudrait préciser où tu utilises ce code, dans quel module et sur quel événement?

    De plus, tu gagnerais en lisibilité si
    - tu nommais tes contrôles, de façon à voir de quoi tu parles
    - tu utilisais un bloc Select Case... Case... End Select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select Case Texte40
        Case 4
            texte43 = ([PRO_PRICE] * [IMP_QUANTITY]) * (1.196 - 1)
            Texte45 = 0
        Case 5
            Texte45 = ([PRO_PRICE] * [IMP_QUANTITY]) * (1.055 - 1)
            Texte43 = 0
    End Select
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par défaut
    Merci de répondre aussi vite!
    Je ne connaissais pas le bloc select case (je suis un grand novice)
    J'ai donc renommais mes controles et je suis sur une ouverture de formulaire:
    code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form_Load()
     
    Select Case codeTVA
        Case 4
            TVA196 = ([PRO_PRICE] * [IMP_QUANTITY]) * (1.196 - 1)
            TVA55 = 0
        Case 5
            TVA55 = ([PRO_PRICE] * [IMP_QUANTITY]) * (1.055 - 1)
            TVA196 = 0
    End Select
    End Sub

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Ok. Mais cela ne répond pas à mon attente
    Il faudrait préciser où tu utilises ce code, dans quel module et sur quel événement?
    Sans explications supplémentaires, nous ne pouvons pas comprendre quand tu déclenches ce code
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par défaut
    Ce code est dans un formulaire nommé: F002SEARCHPRODUCT

    dans mon formulaire en mode création
    j'ai un controle nommé codeTVA (qui aura pour valeur 4 ou 5)
    un controle nommé TVA196 et un autre TVA55
    Ce que je veux, c'est avoir le montant TVA en 19,6 ou 5,5 selon le codeTVA

    J'ai donc crée un évenement sur l'ouverture de mon formulaire

    Mon code fonctionne mais sur le 1er enregistrement et je n'arrive pas a faire de boucle pour parcourir tous les enregistrements de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select Case codeTVA
        Case 4
            TVA196 = ([PRO_PRICE] * [IMP_QUANTITY]) * (1.196 - 1)
            TVA55 = 0
        Case 5
            TVA55 = ([PRO_PRICE] * [IMP_QUANTITY]) * (1.055 - 1)
            TVA196 = 0
    End Select

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Ok. La technique que tu emploies est correcte dans un formulaire n'affichant qu'un seul enregistrement.

    Dans un formulaire en continu, il me semble que la seule solution valable soit de créer le jeu correct de champs dans la requête, car l'événement sur mise à jour du contrôle TVA survient ligne par ligne, et donc tu ne pourras pas réaliser ce que tu souhaites.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  2. [langage] if et boucle { ..}
    Par kacedda dans le forum Langage
    Réponses: 15
    Dernier message: 28/04/2003, 17h25
  3. [directsound] boucle de traitement de son
    Par gargle dans le forum DirectX
    Réponses: 5
    Dernier message: 24/03/2003, 10h47
  4. Sortir d'un progamme qui boucle ou qui refresh
    Par mikevador02 dans le forum C
    Réponses: 12
    Dernier message: 14/12/2002, 09h38
  5. Réponses: 2
    Dernier message: 29/05/2002, 20h43

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