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 :

Masque de saisie N° de TVA dans formulaire


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2016
    Messages : 171
    Points : 79
    Points
    79
    Par défaut Masque de saisie N° de TVA dans formulaire
    J'ai, avec intérêt, parcouru la discussion trouvée sous https://www.developpez.net/forums/d1...masque-saisie/.
    Toutefois, pour certains pays, il existe plusieurs masques possibles concernant les N° de TVA. Par exemple, les N° de TVA en République Tchèque peuvent comprendre 8, 9 ou 10 chiffres, en Roumanie de 2 à 10 chiffres, en Lituanie 9 ou 12 chiffres. Comment, dans le formulaire, à l'aide de "Select case", en fonction du pays, prévoir pour un même pays plusieurs formats différents de masques afin de signaler une éventuelle erreur.
    Merci pour votre aide.

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,

    Plutot qu'un masque de saisie qui ne sert pas à grand chose puisque de toute façon l'utilisateur saisit un truc qu'il a sous les yeux, mieux vaut controler le n° saisi comme expliqué ici : webservice-soap-vies
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2016
    Messages : 171
    Points : 79
    Points
    79
    Par défaut
    Merci pour la réponse, mais, débutant avec ACCESS, je n'y comprends pas grand'chose. Je suppose que cette fonction se place après MAJ du N° de TVA, qu'elle contient le format XML, mais comment indiquer le code ISO du pays et le N° de TVA introduit ? Dans mon formulaire, j'ai créé un champ "Code_Pays" pour le code ISO et un champ "NumTVA" pour le N° de TVA à encoder.
    Si vous aviez quelques renseignements complémentaires, je pourrais peut-être en sortir.
    D'avance merci.


    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
    Function X()
    Dim strResponseText As String
    Dim strURL As String
    Dim strEnv As String
    Dim xmlhtp As MSXML2.XMLHTTP60
     
    'creating Enveloppe
    ' we create our SOAP envelope for submission to the Web Service
    strEnv = "<?xml version=""1.0"" encoding=""utf-8""?>"
    strEnv = strEnv & "<SOAP-ENV:Envelope xmlns:ns0=""urn:ec.europa.eu:taxud:vies:services:checkVat:types"" "
    strEnv = strEnv & "xmlns:ns1=""http://schemas.xmlsoap.org/soap/envelope/"" "
    strEnv = strEnv & "xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" "
    strEnv = strEnv & "xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/"">"
    strEnv = strEnv & "  <SOAP-ENV:Header/>"
    strEnv = strEnv & "  <ns1:Body>"
    strEnv = strEnv & "   <ns0:checkVatApprox>"
    strEnv = strEnv & "    <ns0:countryCode>DE</ns0:countryCode>"
    strEnv = strEnv & "    <ns0:vatNumber>1234</ns0:vatNumber>"       'the vat nbr we are verifying
    strEnv = strEnv & "    <ns0:traderName/>"
    strEnv = strEnv & "    <ns0:traderCompanyType/>"
    strEnv = strEnv & "    <ns0:traderStreet/>"
    strEnv = strEnv & "    <ns0:traderPostcode/>"
    strEnv = strEnv & "    <ns0:traderCity/>"
    strEnv = strEnv & "    <ns0:requesterCountryCode>BE</ns0:requesterCountryCode>"
    strEnv = strEnv & "    <ns0:requesterVatNumber>0123456789</ns0:requesterVatNumber>"
    strEnv = strEnv & "   </ns0:checkVatApprox>"
    strEnv = strEnv & "  </ns1:Body>"
    strEnv = strEnv & "</SOAP-ENV:Envelope>"
     
    'The URL address of the wsdl
    strURL = "http://ec.europa.eu/taxation_customs/vies/services/checkVatService"
     
    Set xmlhtp = New MSXML2.XMLHTTP60
     
    'Enveloppe created. open http POST
    xmlhtp.Open "POST", strURL, False
     
    xmlhtp.setRequestHeader "Content-Type", "text/xml"
     
    'Sending enveloppe
    xmlhtp.send strEnv
    strResponseText = xmlhtp.responseText
     
    Debug.Print strResponseText
     
    Set xmlhtp = Nothing
     
    End Function

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Voici la procédure telle que dans mon appli :

    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
    Private Sub ntva_afterupdate()
    If Not Mode_debug Then On Error GoTo err
    Dim Sr As String, strURL As String, strEnv As String, xmlhtp As MSXML2.ServerXMLHTTP  'Utilise la Référence Microsoft XML,v3.0
     
        '21.4b controle n° par webservice - https://www.developpez.net/forums/d1612513/logiciels/microsoft-office/access/vba-access/webservice-soap-vies/
    102 nTVA = trim(ucase(nTVA))
     
        'creating Enveloppe - we create our SOAP envelope for submission to the Web Service
    110 strEnv = "<?xml version=""1.0"" encoding=""utf-8""?>"
    111 strEnv = strEnv & "<SOAP-ENV:Envelope xmlns:ns0=""urn:ec.europa.eu:taxud:vies:services:checkVat:types"" "
    112 strEnv = strEnv & "xmlns:ns1=""http://schemas.xmlsoap.org/soap/envelope/"" "
    113 strEnv = strEnv & "xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" "
    114 strEnv = strEnv & "xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/"">"
    115 strEnv = strEnv & " <SOAP-ENV:Header/> <ns1:Body> <ns0:checkVatApprox>"
    116 strEnv = strEnv & " <ns0:countryCode>" & Left(nTVA, 2) & "</ns0:countryCode>"
    117 strEnv = strEnv & " <ns0:vatNumber>" & Mid(nTVA, 3) & "</ns0:vatNumber> <ns0:traderName/>"
    118 strEnv = strEnv & " <ns0:traderCompanyType/> <ns0:traderStreet/> <ns0:traderPostcode/> <ns0:traderCity/>"
    119 strEnv = strEnv & " <ns0:requesterCountryCode>XX</ns0:requesterCountryCode>"
    120 strEnv = strEnv & " <ns0:requesterVatNumber>YYYYYYYYYY</ns0:requesterVatNumber>"
    121 strEnv = strEnv & " </ns0:checkVatApprox> </ns1:Body></SOAP-ENV:Envelope>"
     
        'The URL address of the wsdl
    130 strURL = "http://ec.europa.eu/taxation_customs/vies/services/checkVatService"
    132 Set xmlhtp = New MSXML2.ServerXMLHTTP
     
        'Enveloppe created .open http POST
    134 xmlhtp.Open "POST", strURL, False
    136 xmlhtp.setRequestHeader "Content-Type", "text/xml"
     
        'Sending enveloppe
    140 xmlhtp.send strEnv
    142 Sr = xmlhtp.responseText
    'MsgBox strEnv & vbCr & vbCr & Sr
    146 Set xmlhtp = Nothing
     
    150 If InStr(Sr, "<valid>true</valid>") > 1 Then
    152   Sr = Mid(Sr, InStr(Sr, "<traderName>") + 12)
    154   Sr = Left(Sr, InStr(Sr, "</traderName>") - 1)
    156   If MsgBox("Vous avez saisi le n° de TVA de la société " & Sr, vbYesNo, "confirmation") = vbYes Then refresh Else undo
        Else
    160   MsgBox "N° de TVA inconnu.", vbInformation, "": undo
        End If
        Exit Sub
    err: Call message("Erreur " & err.Number & "/" & Erl & " dans tiers.ntva_AU : " & err.description)
    End Sub
    Il faut remplacer XX et YYYYYYYYYY par le n° TVA du requester comme indiqué dans la balise

    Les mode_debug, n° en tête de ligne et la procédure message sont pour ma gestion d'erreur donc à supprimer ou remplacer
    Le reste pour moi aussi c'est du chinois mais du chinois qui marche
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2016
    Messages : 171
    Points : 79
    Points
    79
    Par défaut Masque de saisie N° de TVA dans formulaire
    Merci pour les précisions apportées.
    Toutefois comment faire pour remplacer le "XX" par le code du pays (CodePays) et les "Y" par le N° de TVA (TVANum) qui sont tous deux des champs de texte court ? Pourquoi y a-t-il 10 caractères "Y" alors que certains N° de TVA peuvent être constitués de plus de 10 chiffres ou caractères (par exemple 12 pour la Lituanie et la Suède)? Cela a-t-il une importance ?
    J'étais heureux d'apprendre que je ne suis pas le seul à ne pas comprendre le chinois.

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Citation Envoyé par BCBFIS Voir le message
    Merci pour les précisions apportées.
    Toutefois comment faire pour remplacer le "XX" par le code du pays (CodePays) et les "Y" par le N° de TVA (TVANum) qui sont tous deux des champs de texte court ? Pourquoi y a-t-il 10 caractères "Y" alors que certains N° de TVA peuvent être constitués de plus de 10 chiffres ou caractères (par exemple 12 pour la Lituanie et la Suède)? Cela a-t-il une importance ?
    J'étais heureux d'apprendre que je ne suis pas le seul à ne pas comprendre le chinois.
    C'est VOTRE n° de TVA à mettre ici, une fois pour toutes
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    Toutefois comment faire pour remplacer le "XX" par le code du pays (CodePays) et les "Y" par le N° de TVA (TVANum)
    à priori, on peut répéter le n° TVA demandé dans les 2 derniers paramètres si on n'est pas une société
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #8
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2016
    Messages : 171
    Points : 79
    Points
    79
    Par défaut Masque de saisie N° de TVA dans formulaire
    Merci pour votre aide. Je vais essayer ce que ça donne.
    Bonne fin de journée.

    Dans ma BDD, j'ai introduit la fonction après avoir copier les codes; néanmoins, il met en rouge la ligne 102 comme s'il y avait une anomalie.
    102 nTVA = trim(ucase((nTVA))
    Pourriez-vous m'indiquer pourquoi. Pour rappel, mon N° de TVA est composé de 2 champs, le champ "CodeISO" (les 2 lettres du pays) et le champ "TVA_Num" pour le N° composé de 2 à 12 caractères alphanumériques.
    Encore merci

  9. #9
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    C'est la procédure nTVA_afterupdate, donc nTVA est le nom de ma variable où l'utilisateur saisit un n° de TVA
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  10. #10
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    102 nTVA = trim(ucase((nTVA))
    il y a une parenthèse ouvrante en trop:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    102 nTVA = trim(ucase(nTVA))
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Pour rappel, mon N° de TVA est composé de 2 champs, le champ "CodeISO" (les 2 lettres du pays) et le champ "TVA_Num" pour le N° composé de 2 à 12 caractères alphanumériques.
    si tu as 2 champs pour le numéro de TVA, il va falloir adapter ton code:
    Left(nTVA, 2) doit être remplacé par CodeISO et Mid(nTVA, 3) par TVA_Num
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  12. #12
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2016
    Messages : 171
    Points : 79
    Points
    79
    Par défaut Masque de saisie N° de TVA dans formulaire
    Merci tee_grandbois. Je suppose que je dois placer les noms de ces champs entre crochets "[CodeISO] et [TVA_Num].
    Entretemps, je constate lors de l'essai, avant modification, une "Erreur de compilation" et surligne en bleu, à la 3ème ligne de code les termes: "xmltp AS MSXML2.ServerXMLHTTP".
    Pourquoi ? Que faudrait-il changer ?
    Ne devrais-je pas nom plus modifier la ligne 102 " nTVA = trim(ucase(nTVA))" car mon N° de TVA est composé de 2 champs comme indiqué ci-avant. Je pensais faire précéder la ligne 102 d'une autre ligne: qui serait nTVA= [CodeISO]+[TVA_Num]. Qu'en pensez-vous ?
    Merci à tous.

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Je pensais faire précéder la ligne 102 d'une autre ligne: qui serait nTVA= [CodeISO]+[TVA_Num]. Qu'en pensez-vous ?
    oui, c'est mieux nTVA= Trim([CodeISO]&[TVA_Num]) préfère le symbole & plutôt que +
    Entretemps, je constate lors de l'essai, avant modification, une "Erreur de compilation" et surligne en bleu, à la 3ème ligne de code les termes: "xmltp AS MSXML2.ServerXMLHTTP".
    vérifie tes références, si tu as inscris la version Microsoft XML, v6 remplaces la ligne de code en erreur par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlhtp As MSXML2.XMLHTTP60
    et un peu plus bas (code ligne 132):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set xmlhtp = New MSXML2.XMLHTTP60
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  14. #14
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2016
    Messages : 171
    Points : 79
    Points
    79
    Par défaut Masque de saisie N° de TVA dans formulaire
    J'ai toujours un problème malgré les modifications apportées.
    Je reçois le message d'erreur suivant: "Erreur de compilation. Type défini par l'utilisateur non défini" et le code "xmlhtp As MSXML2.XMLHTTP60" est surligné en bleu.
    Bref, je n'en sors pas.
    Merci pour votre aide.

    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
    Private Sub TVA_Four_AfterUpdate()
     
    If Not Mode_debug Then On Error GoTo err
    Dim Sr As String, strURL As String, strEnv As String, xmlhtp As MSXML2.XMLHTTP60  'Utilise la Référence Microsoft XML,v3.0
     
        '21.4b controle n° par webservice - https://www.developpez.net/forums/d1612513/logiciels/microsoft-office/access/vba-access/webservice-soap-vies/
     
    102 nTVA = Trim([CodePays_Four] & [TVA_Four])
     
        'creating Enveloppe - we create our SOAP envelope for submission to the Web Service
    110 strEnv = "<?xml version=""1.0"" encoding=""utf-8""?>"
    111 strEnv = strEnv & "<SOAP-ENV:Envelope xmlns:ns0=""urn:ec.europa.eu:taxud:vies:services:checkVat:types"" "
    112 strEnv = strEnv & "xmlns:ns1=""http://schemas.xmlsoap.org/soap/envelope/"" "
    113 strEnv = strEnv & "xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" "
    114 strEnv = strEnv & "xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/"">"
    115 strEnv = strEnv & " <SOAP-ENV:Header/> <ns1:Body> <ns0:checkVatApprox>"
    116 strEnv = strEnv & " <ns0:countryCode>" & Left(nTVA, 2) & "</ns0:countryCode>"
    117 strEnv = strEnv & " <ns0:vatNumber>" & Mid(nTVA, 3) & "</ns0:vatNumber> <ns0:traderName/>"
    118 strEnv = strEnv & " <ns0:traderCompanyType/> <ns0:traderStreet/> <ns0:traderPostcode/> <ns0:traderCity/>"
    119 strEnv = strEnv & " <ns0:requesterCountryCode>[CodePays_Four]</ns0:requesterCountryCode>"
    120 strEnv = strEnv & " <ns0:requesterVatNumber>[TVA_Four]</ns0:requesterVatNumber>"
    121 strEnv = strEnv & " </ns0:checkVatApprox> </ns1:Body></SOAP-ENV:Envelope>"
     
        'The URL address of the wsdl
    130 strURL = "http://ec.europa.eu/taxation_customs/vies/services/checkVatService"
    132  Set xmlhtp = New MSXML2.XMLHTTP60
     
        'Enveloppe created .open http POST
    134 xmlhtp.Open "POST", strURL, False
    136 xmlhtp.setRequestHeader "Content-Type", "text/xml"
     
        'Sending enveloppe
    140 xmlhtp.send strEnv
    142 Sr = xmlhtp.responseText
    'MsgBox strEnv & vbCr & vbCr & Sr
    146 Set xmlhtp = Nothing
     
     
    End Sub

  15. #15
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    Je reçois le message d'erreur suivant: "Erreur de compilation. Type défini par l'utilisateur non défini" et le code "xmlhtp As MSXML2.XMLHTTP60" est surligné en bleu.
    as-tu coché la référence Microsoft XML, vn (où n représente la version utilisée) ?
    si oui, peux-tu préciser laquelle ?
    j'ai oublié la mise en majuscules:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    102 nTVA = Trim(Ucase([CodePays_Four] & [TVA_Four]))
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  16. #16
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2016
    Messages : 171
    Points : 79
    Points
    79
    Par défaut Masque de saisie N° de TVA dans formulaire
    Je suis de plus en plus perdu.
    J'ai modifié le traitement des majuscules, par contre je ne comprends rien au reste de la réponse: "as-tu coché la référence Microsoft XML, vn (où n représente la version utilisée) ?
    si oui, peux-tu préciser laquelle ?"
    J'ignore où se trouve cette référence.
    Je joins une vue des propriétés du fichier MSXML6.DLL à toutes fins utiles.
    Merci.
    Images attachées Images attachées

  17. #17
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Une référence est un appel à une librairie externe qui étend les possibilités de langage VBA. On les choisit par le menu outils>références... puis cocher celle indiquée en commentaire dans mon code ou une équivalente
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  18. #18
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2016
    Messages : 171
    Points : 79
    Points
    79
    Par défaut Masque de saisie N° de TVA dans formulaire
    Après modifications sur base de vos renseignements, cela fonctionne, je dois encore régler la gestion de la suite lorsque le N° de TVA est erroné.
    Un tout grand merci à tous. Bonne fin de journée.

  19. #19
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    regarde à la fin du code de nico84, fourni un peu plus haut, il teste le retour de réponse du XML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        'Sending enveloppe
    140 xmlhtp.send strEnv
    142 Sr = xmlhtp.responseText
    'MsgBox strEnv & vbCr & vbCr & Sr
    146 Set xmlhtp = Nothing
    150 If InStr(Sr, "<valid>true</valid>") > 1 Then
    152   Sr = Mid(Sr, InStr(Sr, "<traderName>") + 12)
    154   Sr = Left(Sr, InStr(Sr, "</traderName>") - 1)
    156   If MsgBox("Vous avez saisi le n° de TVA de la société " & Sr, vbYesNo, "confirmation") = vbYes Then refresh Else undo
        Else
    160   MsgBox "N° de TVA inconnu.", vbInformation, "": undo
        End If
        Exit Sub
    en gros, si on trouve <valid>true</valid> dans la réponse, c'est que le numéro est correct... à toi de l'adapter selon ton besoin
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  20. #20
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2016
    Messages : 171
    Points : 79
    Points
    79
    Par défaut Masque de saisie N° de TVA dans formulaire
    Je souhaiterais adapter les lignes qui suivent avec un message en cas de N° de TVA invalide de façon à proposer, en cas de N° invalide, soit de le réencoder en remettant à blanc le champ "TVA_four" qui est le N° sans les lettres et revenant à celui-ci avec , à mon avis, un "SetFocus", soit d'enregistrer les données dans la table correspondante sans le N° de TVA.
    Pouvez-vous m'indiquer ce que je dois remplacer et par quoi remplacer ? car je veux juste tester le N° de TVA, je n'ai pas besoin de connaître le nom de la firme qui y correspond.
    Merci d'avance à tous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    146 Set xmlhtp = Nothing
    150 If InStr(Sr, "<valid>true</valid>") > 1 Then
    152   Sr = Mid(Sr, InStr(Sr, "<traderName>") + 12)
    154   Sr = Left(Sr, InStr(Sr, "</traderName>") - 1)
    156   If MsgBox("Vous avez saisi le n° de TVA de la société " & Sr, vbYesNo, "confirmation") = vbYes Then refresh Else undo
        Else
    160   MsgBox "N° de TVA inconnu.", vbInformation, "": undo
        End If
        Exit Sub

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

Discussions similaires

  1. Masque de saisie dans une zone de texte d'un formulaire Excel
    Par guillaume846 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/04/2014, 16h37
  2. [AC-2003] Masque de saisie dans une zone de liste d'un formulaire
    Par moilou2 dans le forum IHM
    Réponses: 0
    Dernier message: 15/07/2009, 16h02
  3. Réponses: 9
    Dernier message: 22/09/2007, 07h53
  4. [RegEx] masque de saisie dans formulaire
    Par cramix dans le forum Langage
    Réponses: 5
    Dernier message: 01/12/2006, 07h51
  5. Saisie automatique de dates dans formulaires
    Par yves89 dans le forum IHM
    Réponses: 11
    Dernier message: 17/05/2006, 00h04

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