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 :

Verifier Numéro tva belge [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 78
    Points : 46
    Points
    46
    Par défaut Verifier Numéro tva belge
    Bonjour à tous

    j’essaye de mettre une vérification sur le numéro de tva belge avec cette fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
     
    Function Testlc(NOMDUCHAMP) As Long
    Testlc = 97 - ((100000000 + Int(NOMDUCHAMP / 100)) * 100) Mod 97
    If Testlc = NOMDUCHAMP Mod (100) Then
    Testlc = True
    Else
    MsgBox "LE NUMERO EST FAUX, REVERIFIEZ VOTRE SAISIE"
     
    End If
    le problème c'est que j'ai un dépassement de valeur. avez vous des solutions ? merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 345
    Points : 23 805
    Points
    23 805
    Par défaut
    Bonjour.

    Type tes variables, cela va aider le compilateur.

    Devait résoudre le problème.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 465
    Points : 549
    Points
    549
    Par défaut
    Bonjour Badibad,

    Ton code est intéressant pour verifier le format du numéro de TVA mais sais-tu qu'il est aussi possible de vérifier si le numéro est valide, s'il correspond à une société réellement enrégistrée auprès de l'administration ?
    Jette un coup d'oeil sur cette discussion Developpez

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ca semble fonctionner via le webservice:

    Les fonctions :
    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
     
    Public Function checkVAT(ByVal CountryCode As String, ByVal vatNumber As String, Optional ByRef isErr As Boolean) As Boolean
    'Validation du numéro de TVA via VIES : http://ec.europa.eu/taxation_customs/vies/vatRequest.html
        On Error GoTo fin
        Const cURL As String = "http://ec.europa.eu/taxation_customs/vies/services/checkVatService"
        Const cEnv As String = "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>" & _
              "<env:Body><cv:checkVat xmlns:cv='urn:ec.europa.eu:taxud:vies:services:checkVat:types'>" & _
              "<cv:countryCode>CC</cv:countryCode><cv:vatNumber>VN</cv:vatNumber>" & _
              "</cv:checkVat></env:Body></env:Envelope>"
        Dim sEnv As String, sResult As String, oHttp As Object
     
     
        isErr = True
        sEnv = Replace(Replace(cEnv, "CC", CountryCode, , , vbBinaryCompare), "VN", vatNumber, , , vbBinaryCompare)
        Set oHttp = CreateObject("MSXML2.XMLHTTP")
        oHttp.Open "POST", cURL, False: oHttp.send sEnv
        If oHttp.Status = 200 Then
            sResult = getTextBetween(oHttp.responseText, "<valid>", "</valid>")
            checkVAT = (sResult = "true")
            isErr = False
        End If
    fin:
        Set oHttp = Nothing
    End Function
     
     
    'retourne un texte entre deux limites
    Private Function getTextBetween(ByVal text As String, ByVal Before As String, Optional ByVal After As String = " ") As String
        On Error Resume Next
        getTextBetween = Split(Split(text, Before)(1), After)(0)
    End Function
    Le test :
    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
     
    Public Function testCheckVAT()
        Dim CountryCode As String, vatNumber As String
        Dim estErreur As Boolean, estOk As Boolean, i As Long
     
        For i = 1 To 2
            If i = 1 Then
                CountryCode = "BE"
                vatNumber = "0123456789"
            Else
                CountryCode = "RO"
                vatNumber = "4594917"
            End If
     
            estOk = checkVAT(CountryCode, vatNumber, estErreur)
            Debug.Print "Résultat pour:'" & CountryCode; "' - '" & vatNumber & "'"
            Debug.Print vbTab & "-> CheckVAT: " & estOk & " (Erreur: " & IIf(estErreur, "Oui", "Non") & ")"
        Next i
    End Function

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 234
    Points : 554
    Points
    554
    Par défaut
    Bonsoir Galoir,

    J'essaie depuis pas mal de temps à faire ça, j'ai donc essayé ton code mais après avoir ouvert la page web du site Vies, il ne se passe rien.

    Pourrais-tu m'aider un peu sur ton code.

    Merci

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

Discussions similaires

  1. Déclaration TVA belge
    Par RisingDev dans le forum Odoo (ex-OpenERP)
    Réponses: 1
    Dernier message: 20/04/2015, 11h19
  2. récuperer info société par numéro tva
    Par Nico_tournai dans le forum Général Python
    Réponses: 7
    Dernier message: 11/10/2013, 08h57
  3. format numéro TVA des commerçants
    Par laurentSc dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/04/2012, 15h34
  4. Formater un numéro de téléphone belge
    Par Zarvox dans le forum Langage
    Réponses: 8
    Dernier message: 19/08/2010, 13h27
  5. [Regex] Verifier la validité d'un numéro de téléphone?
    Par pracede2005 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 30/07/2009, 11h35

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