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 :

Définir valeur par défaut avec VBA [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 17
    Points
    17
    Par défaut Définir valeur par défaut avec VBA
    Bonjour à tous,

    Je développe une petit système de facturation. Mon problème est le suivant: le taux des taxes changent avec les années. Pour l'instant, j'ai un formulaire pour inscrire les factures [F Fournisseurs - Factures]. Afin de changer le taux des taxes, j'ai créé un formulaire [F Configuration des taxes], servant d'interface, pour définir les taxes par défaut. Donc en cliquant sur un bouton, une boite de dialogue apparait est demande le nouveau taux de taxe pour changer le valeur par défaut du champ [TPS] qui fait partie de
    [F Fournisseurs - Factures]. Boom! Erreur d'exécution 2450.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Sub Commande27_Click()
    Forms![F Fournisseurs - Factures]![TPS].DefaultValue = InputBox("Quel est le nouveau taux(%) désiré?", "Valeur par défaut de la TPS")
    End Sub
    Access ne trouve par le champ. Quelle est l'erreur?
    Merci à l'avance!

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonsoir,
    et j'avais oublié bien venu sur le forum

    pour accéder au champ de ton formulaire [F Fournisseurs - Factures]. il faut que ce formulaire soit ouvert sinon il est introuvable est-ce le cas?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Merci pour l'accueil et merci de la solution. Donc, pour que le tout fonctionne je dois effectuer le changement suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Sub Commande27_Click()
    DoCmd.OpenForm ("FFournisseurs_Factures")
    Forms![FFournisseurs_Factures]![TPS].DefaultValue = InputBox("Quel est le nouveau taux(%) désiré?", "Valeur par défaut de la TPS")
    DoCmd.Close
    End Sub
    Cependant, on voit le formulaire s'ouvrir et je préfère que ne le voit pas. Peut-on faire en sorte qui s'ouvre de façon plus discrète. De plus,
    si je met "5" comme valeur dans mon inputbox... on me donne un taux de "500%"

    Merci encore pour l'aide... c'est apprécié!

  4. #4
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Je ne n'arrive pas à te suivre, tu passe par un formulaire pour ton taux. Pourquoi ne pas créer une table avec ton taux et réalisé une relation entre ta table et ta facturation, en gros avoir tes enregistrements de facturation et pour le calcul pointer sur ta table de taux

    Sinon tu peux créer une constante en vba avec ton taux, chaque changement tu modifie la constante.

    dernier conseil je t'invite à nommé tes contrôles


    Dolphy

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Et bien Dolphy, je désire que ma base de donnée soit "User Friendly", donc même une personne ne connaissant pas Access pourrait l'utiliser.
    mon Formulaire [F Configuration de taxes] est en fait une interface contenant mon bouton qui exécute la macro. Donc, lors d'un changement de taxe, l'utilisateur n'aura qu'à cliquer sur le bouton par mettre les nouvelles valeurs par défaut.

  6. #6
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    re,

    D'où ma première proposition

    tu stock la valeur de ton taux dans une table, un form permet de modifier ce taux. Ensuite lors de tes calculs il suffit de pointer sur cette table.

    Dolphy

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    re,
    petite précision il doit être ouvert en mode création,

    essai le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Commande27_Click()
    DoCmd.OpenForm "F Fournisseurs - Factures", acDesign
    Forms![F Fournisseurs - Factures]![TPS].DefaultValue = InputBox("Quel est le nouveau taux(%) désiré?", "Valeur par défaut de la TPS")
    End Sub
    ton problème vient aussi peut-être du nom de tes forms -
    eviter les espaces et surtout les " -,;." ect...
    Exemple utiliser "F_Fournisseurs_Factures"
    sinon tu risque d'avoir un jour de gros problèmes
    voir test joint qui fonctionne

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Donc si je comprend tu me suggère de changer la valeur par défaut directement dans ma table lieu du formulaire (ce qui est logique)?

    J'ai tout de même trouver comment exécuter le tout!
    J'ai ajouté un Echo à ma macro.
    Il me reste a trouver comment résoudre le problème de format concernant ma valeur de mon inputbox.... admettons que la valeur du inputbox = "3" et bien la valeur par défaut du champ(format:pourcentage) deviendras 300%. Moi je veux 3%.

    Merci.

  9. #9
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    bonjour
    essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![F Fournisseurs - Factures]![TPS].DefaultValue = InputBox("Quel est le nouveau taux(%) désiré?", "Valeur par défaut de la TPS")/100

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Bien pensé Renardo, malheureusement le champ indique la fameuse erreur #Nom?

  11. #11
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    après essai
    apparemment c'est le DefaultValue qui pose problème sinon ça fonctionne

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Merci à tous pour les solutions.

    J'ai un peu changer la donnée du problème donc ...
    J'ai un formulaire [FConfiguration_de_taxes] pour définir la valeur par défaut.


    Le bouton Confirmer exécute la macro suivante pour reporter la valeur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Sub Commande4_Click()
    Application.Echo False
    DoCmd.OpenForm "FFournisseurs_Factures", acDesign
    Forms![FFournisseurs_Factures]![Taux TPS].DefaultValue = Forms![FConfiguration_de_taxes]![Texte9]
    DoCmd.Close acForm, "FFournisseurs_Factures", acSaveYes
    Application.Echo True
    End Sub
    La macro semble fonctionner la valeur par défaut s'est "mise à jour"


    Mais lors d'un nouvel enregistrement une erreur apparait.


    Des solutions de rechange ou bien la réponse à cette erreur sont les bienvenue.
    Merci!

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Et bien miraculeusement ça fonctionne. J'ai seulement pris du recul et réouvert le fichier.

    Merci à tous pour votre aide!

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut #Erreur lors de l'ajout d'une valeur par défaut
    Bonjour,

    Je m'excuse de déterrer ce vieux post, mais la discussion s'est terminé un peu vite et sans offrir une réelle solution. J'a

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/09/2014, 18h51
  2. [XL-2007] VBA: Définir une valeur par défaut pour un range d'activeX combobox
    Par redhotchilipeppers dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/07/2014, 20h22
  3. textarea + valeur par défaut avec retour chariot
    Par epeichette dans le forum Zend_Form
    Réponses: 0
    Dernier message: 26/04/2011, 14h38
  4. Réponses: 1
    Dernier message: 27/01/2010, 12h00
  5. [html:select] valeur par défaut avec liste dynamique
    Par CPI_en_mousse dans le forum Struts 1
    Réponses: 3
    Dernier message: 02/07/2007, 14h29

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