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

Access Discussion :

Tarif de cubage [AC-2003]


Sujet :

Access

  1. #1
    Inactif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 9
    Points
    9
    Par défaut Tarif de cubage
    Bonsoir,

    J'ai repris un projet abandonné il y a quelques temps déjà...
    J'ai pratiquement fini mais hélas pour moi je n'arrive pas à résoudre la dernière difficulté...Code VBA access.
    Voilà mon problème.
    Dans un formulaire (Saisie) j'ai deux contrôles de liste zone déroulante (liste valeurs), l'un Circonférence, l'autre Hauteur.
    Pour la Circonférence les dimensions vont de 40 à 250 centimètres (de 5 en 5, 40 45 50...)
    Pour la Hauteur les dimensions vont de 1 à 25 mètres (1, 2, 3...)
    Un troisième contrôle Volume unitaire.
    C’est ce dernier qui me pose problème. Il doit correspond à un cube estimé pour chaque correspondance circonférence-hauteur.
    Par exemple pour une circonférence 100 cm et une hauteur de 10 m le cube estimé correspond à 0.509 m3.
    C’est un résultat estimé donc pas de formule en rapport avec le résultat du barème. Il faut se référer à la table de cubage. Ci-joint exemple barème.
    Les 3 champs font partis d’une table (Mesure) et sont pris en compte dans une requête (Mesure Requête)
    Je vous remercie d’avance de votre aide.

    Pierre
    Images attachées Images attachées  

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonsoir,
    Je crois comprendre que le problème est un problème de dendrologie (cubage des arbres sur pied).

    J'ai une formule qui me permet de calculer ces volumes mais dans Excel.
    Le problème est qu'il faut connaître le défilement et que ce paramètre dépend de l'essence de l'arbre, il très différent entre les résineux et les feuillus et il existe des tables qui donne ce paramètre en fonctions de la circonférence mesurée à 1,5 m du sol.
    Le défilement represente la diminution de la circ par m de hauteur. C'est assimilable à la conicité d'un cône qui elle s'exprime en % je crois.

    Cette formule je vous la livre volontier en français informatique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    V=Circ/100-Défilement*(Haut/2-1,5)^2*Haut/(4*Pi())
    Circ => circonférence en cm (doit être transformée en m d'où /100
    Défilement = 2 pour un Epicéa de 105 cm
    Haut = Hauteur en m
    Pi() fonction dans Excel qui donne 3,14159....
    L'* est le signe de mutiplication
    ^2 = élévation au carré
    J'ai fait une table dans Excel pour calculer empiriquement les défilements de différentes espèces mais je n'ai pas les Pins malheureusement.
    Avecun défilement = 5,7 vous auriez un volume de 0,5099 pour votre arbre.(circ à 1,5 m du sol)
    Bon travail
    Cordialement.

    RJ

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 9
    Points
    9
    Par défaut Tarif de cubage
    Bonsoir rjamin

    Je cherche dans cette base de données à incorporer le barème de cubage des pins maritimes des landes.
    La formule donne des écarts par rapport à la table de cubage et entre un acheteur et un vendeur seul le barème fait référence. Donc par d’écart possible…
    Voilà pourquoi je veux attacher à cette base les valeurs du barème.
    Je vous remercie néanmoins de votre réponse
    Bon week-end Pascal.

    Pierre

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Joint un exemple d'encodage arbre par arbre avec un N° d'arbre, une liste de choix où on choisi la circonférence et la hauteur les valeurs de Circ, Hauteur et Volume s'inscrivent automatiquement.


    http://www.cijoint.fr/cjlink.php?fil...cijYi5M2ma.zip

    Il est possible d'améliorer cela mais je ne connais pas votre méthode de travail.

    Bon travail
    Cordialement.

    RJ

  5. #5
    Inactif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 9
    Points
    9
    Par défaut tarif cubage
    Bonjour rjamin

    Je n'arrive pas, hélas, à télécharger votre fichier.
    Un message s'affiche "Internet Explorer ne peut pas afficher cette page Web".
    Pour l'envoi de fichiers je me sers de http://dl.free.frs (Service d'envoi de fichiers). C'est gratuit et pratique pour les petits fichiers.
    Ou bien directement sur ma messagerie en pièce jointe.

    Merci à vous

    Pierre

  6. #6
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Re,

    Exact il y avait une erreur dans le lien.

    Réessayez je l'ai corrigé. Si cela ne va pas je me servirai de votre site.

    A+
    Cordialement.

    RJ

  7. #7
    Inactif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 9
    Points
    9
    Par défaut Tarif cubage
    rjamin je viens de regarder votre fichier.
    A mon avis ça ne colle pas avec mon application.
    Il me faut du code VBA access
    Soit du If...and....then
    Soit du Case
    Je pense à une fonction que l'on pourrait activer depuis la requête ou le formulaire...Mais j'aurais besoin d'un coup de main car je suis un peu perdu je l'avoue pour écrire ce code.
    Ci-joint image de mon formulaire.

    Cordialement

    Pierre
    Images attachées Images attachées  

  8. #8
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Re,

    Je peux vous aider, mais j'ai besoin de plus de renseignements.
    Est-ce que vous pourriez me poster une copie de votre BDD je dois voir comment elle est organisée.

    Si ce n'est pas possible alors je crois que je perdrai beaucoup de temps à essayer de deviner comment vous faites vos encodages, quels infos vous enregistrez dans les tables etc. et je n'arriverai pas à vous proposer quelque chose qui vous convienne.
    Cordialement.

    RJ

  9. #9
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Cordialement.

    RJ

  10. #10
    Inactif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 9
    Points
    9
    Par défaut Tarif cubage
    Bonsoir rjamin

    Je vous remercie pour votre exemple qui m'a permis de faire quelques modifications. Il me reste néanmoins à écrire le code VBA pour le volume unitaire. Mais le ciel se dégage...
    Une petite question sur votre exemple. Comment avez-vous calculé la "volTotal" ?...Pour l'instant ça reste un mystère pour moi !...

    Cordialement

    Pierre

  11. #11
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Le volume total est la somme des Volumes Arbres sains + Arbres échauffés
    J'ai mis une zone de texte indépendantes et sur la ligne Source il y a la formule.

    Je ne vois pas la nécessité de code VBA pour le volume unitaire puisqu'on ne sait pas le calculer on le prélève dans la table Tb_Tarif qui contient les données du barême. Cette table est incomplète d'ailleurs car je ne l'ai remplie qu'avec les données de la miniature de votre premier post.
    Cordialement.

    RJ

  12. #12
    Inactif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 9
    Points
    9
    Par défaut Tarif cubage
    Bonsoir rjamin

    J'ai commencé à écrire mon code pour afficher le volume unitaire pour une circonférence et une hauteur données.
    Ça fonctionne bien… J'ai également neutralisé les correspondances nulles.
    Je vous joins mes premières lignes de code ci-dessous pour voir ce que vous en penser. Peut-être que l'on doit pouvoir simplifier ?

    Dans le formulaire de saisie, je cherche actuellement le code pour empêcher d'ouvrir deux fois la même mesure avec un message " cette mesure existe déjà"......Si quelqu'un peut me renseigner à ce sujet, ça serait parfait.
    Cordialement

    Pierre

    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
    Private Sub Hauteur_AfterUpdate()
    If (Me.Circonférence = 40) And (Me.Hauteur = 2) Then
    Me.Volumunit = 0.03
    End If
    If (Me.Circonférence = 40) And (Me.Hauteur = 3) Then
    Me.Volumunit = 0.033
    End If
    If (Me.Circonférence = 40) And (Me.Hauteur = 4) Then
    Me.Volumunit = 0.045
    End If
    If (Me.Circonférence = 40) And (Me.Hauteur = 5) Then
    Me.Volumunit = 0.052
    End If
    If (Me.Circonférence = 40) And (Me.Hauteur = 6) Then
    Me.Volumunit = 0.063
    End If
    If (Me.Circonférence = 40) And (Me.Hauteur = 7) Then
    Me.Volumunit = 0.072
    End If
    If (Me.Circonférence = 40) And (Me.Hauteur = 8) Then
    Me.Volumunit = 0.083
    End If
    If (Me.Circonférence = 40) And (Me.Hauteur >= 9) Then
    MsgBox "Aucun volume correspondant.", vbInformation + vbOKOnly, "Saisie"
    Me.Undo
    Circonférence.SetFocus
    End If
    If (Me.Circonférence = 45) And (Me.Hauteur = 3) Then
    Me.Volumunit = 0.042
    End If
    If (Me.Circonférence = 45) And (Me.Hauteur = 4) Then
    Me.Volumunit = 0.055
    End If
    If (Me.Circonférence = 45) And (Me.Hauteur = 5) Then
    Me.Volumunit = 0.062
    End If
    If (Me.Circonférence = 45) And (Me.Hauteur = 6) Then
    Me.Volumunit = 0.076
    End If
    If (Me.Circonférence = 45) And (Me.Hauteur = 7) Then
    Me.Volumunit = 0.085
    End If
    If (Me.Circonférence = 45) And (Me.Hauteur = 8) Then
    Me.Volumunit = 0.098
    End If
    If (Me.Circonférence = 45) And (Me.Hauteur = 2) Or (Me.Hauteur >= 9) Then
    MsgBox "Aucun volume correspondant.", vbInformation + vbOKOnly, "Saisie"
    Me.Undo
    Circonférence.SetFocus
    End If
     
    End Sub

  13. #13
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Bonjour

    Je crois qu'il est beaucoup plus simple de créer une table (Volume par exemple) avec des champs comme Circonference, hauteur, volumeUnit. Cette table sera votre baréme.

    Ensuite après choix de la circonférence et de la hauteur tu n'aura qu'à exécuter une requête du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select VolumeUnit From TaTable Where Circonference=ValeurChoisi and Hauteur=HauteurChoisi
    Comme ca, tu n'auras pas besoin de tous ces if et en plus si les paramètre de ton barème changent tu pourra les modifier sans toucher le code.
    Amicalement

  14. #14
    Inactif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 9
    Points
    9
    Par défaut Tari de cubage
    Bonjour MPboup

    Merci à vous pour votre réponse.

    Concernant le barème des pins maritimes sur pied, c'est comme les tables de multiplication...ça change jamais.
    Il a néanmoins diminué de moitié puisque le barème des pins gemmés à mort n'a plus cours aujourd'hui... ce métier ayant totalement disparu aujourd'hui.

    Concernant ma Base de données, elle fonctionne bien grâce à quelques modifications... Mais je retiens votre solution pour de nouveaux futurs projets.

    Il me reste néanmoins dans le formulaire de saisie, à "dénicher" le code pour empêcher d'ouvrir deux fois la même mesure avec un message " cette mesure existe déjà"......Si vous pouvez me renseigner à ce sujet, ça serait formidable.

    Cordialement

  15. #15
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Regardez une peu dans la table Tarif de la base exemple que je vous ai envoyé et vous constatez que les données dont vous avez besoin sont dans cette table. Il faut bien sur la compléter pour avoir toutes les données du barême, c'est un travail un peu ennuyeux mais moins que ce que vous voulez faire à l'aide de VBA croyez moi, d'ailleurs le message de DMboup confirme ce que je dis.

    Bon courage.

    Si besoin je veux encore bien vous guider.
    Cordialement.

    RJ

  16. #16
    Inactif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 9
    Points
    9
    Par défaut Tarif cubage
    Bonsoir,

    J'ai simplifié le code barème...
    Il me reste toujours à trouver le code pour empêcher le double enregistrement d'une même mesure.
    Si quelqu'un a une suggestion à me faire elle sera la bienvenue.
    Merci d'avance

    Pierre


    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
     
    Private Sub Hauteur_AfterUpdate()
     
     
    Me.Volumunit = 0
     
    If (Circonférence = 40 And Hauteur = 2) Then
    Me.Volumunit = 0.03
    End If
    If (Circonférence = 40 And Hauteur = 3) Then
    Me.Volumunit = 0.033
    End If
    If (Circonférence = 40 And Hauteur = 4) Then
    Me.Volumunit = 0.045
    End If
    If (Circonférence = 40 And Hauteur = 5) Then
    Me.Volumunit = 0.052
    End If
    If (Circonférence = 40 And Hauteur = 6) Then
    Me.Volumunit = 0.063
    End If
    If (Circonférence = 40 And Hauteur = 7) Then
    Me.Volumunit = 0.072
    End If
    If (Circonférence = 40 And Hauteur = 8) Then
    Me.Volumunit = 0.083
    End If
     
    …….
     
    If Volumunit = 0 Then
    MsgBox "Aucun volume correspondant.", vbInformation + vbOKOnly, "Saisie"
     
    Me.Undo
    Circonférence.SetFocus
    End If
     
    End Sub

  17. #17
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Nouvel exemple avec protection contre les doublons.


    http://www.cijoint.fr/cjlink.php?fil...cijUmK9Ha8.zip


    RJ
    Cordialement.

    RJ

  18. #18
    Inactif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Points : 9
    Points
    9
    Par défaut Tarif cubage
    Bonjour rjamin

    J'apprécie ce que vous faites pour améliorer cette BDD cubage de pins des Landes.

    Après avoir lancé votre dernier fichier, lorsque que je choisis une Circonf/haut dans le formulaire encodage, il me met un message d'erreur :
    Erreur de compilation Type défini par l'utilisateur non défini sur la fenêtre VBA...

    Pouvez-vous me dire si chez-vous ça fait de même ?
    Sinon je pense que cela peut venir d'une référence DAO object Library plus récente que la mienne ?...


    Je vous remercie d'avance de votre réponse

    Cordialement

    Pierre

  19. #19
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Re,

    Non chez moi tout fonctionne.

    Je travaille avec Access 2007 mais je vais essayer sur 2003.

    Une ligne est mise en évidence (en jaune) que contient-elle?

    En tous cas dans les Références du menu Outils dans VBA il faut activer

    Microsoft ActiveX Data object 2.8 library je crois sous 2003. car j'ai programmé avec ADO plutot que DAO

    La base du lien suivant tourne chez moi sous ACCESS 2003 et c'est bien la références indiquées qu'il faut activer.

    http://www.cijoint.fr/cjlink.php?fil...cijXznDQD3.zip

    Bon travail
    Cordialement.

    RJ

  20. #20
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Nouvelle version basée à 95% sur la vôtre, j'ai juste ajouter une table barême pour faciliter le choix des mesures, on a ainsi accès aux seuls dimensions permises. Le choix se fait dans la liste déroulante que j'ai ajouter et même pas besoin d'ouvrir la liste si je voux par exemple entrer une mesur de circ 190 et de hauteur 14 je tape 19014 dans la liste et les champs Circonférence, Hauteur et VolumUnit sont renseignés automatiquement.
    Dans la table mesure j'ai mis en clé primaire 3 champs NuParcelle, Cicrconférence et Hauteur de ce fait si on entre par erreur deux fois la même mesure dans la même parcelle elle est refusée par Access avec un message qund on clique Ok 'Impossible d'atteindre l'enregistrement spécifié' et le curseur est renvoyé vers les mesures pour les corriger, on peut cliquer Retour et l'entrée erronée est ignorée et cela sans une ligne de code c'est uniquement le fait de la clé primaire sur les 3 champs.

    http://www.cijoint.fr/cjlink.php?fil...cijeW6dZ8y.zip

    J'ai également ajouter un Etat qui s'ouvre en cliquant sur le bouton Imprimer du formulaire Saisie de mesure.
    Regarder cela et voyez si c'est convenable pour vous.

    Bon Weekend et bon travail
    Cordialement.

    RJ

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Comment déterminer son tarif quand on est Freelance ?
    Par nolwenn dans le forum Freelance
    Réponses: 20
    Dernier message: 27/03/2015, 11h05
  2. Tarifs ?
    Par yaka2 dans le forum Devis
    Réponses: 11
    Dernier message: 21/11/2005, 14h19
  3. tarifs / dev php / mysql
    Par phakso dans le forum Devis
    Réponses: 5
    Dernier message: 21/11/2005, 13h36
  4. Réponses: 8
    Dernier message: 21/11/2005, 06h59
  5. tarifs développement logiciel
    Par soubre dans le forum Structure
    Réponses: 8
    Dernier message: 25/10/2005, 16h25

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