Option Explicit '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' societe_Onchange ' objet : ce code formate le champs en le passant en majuscule. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub societe_Onchange Document.Formulaire.societe.Value = ucase(trim(Document.Formulaire.societe.Value)) end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' adresse_Onchange ' objet : ce code vérifie la validité du champs en fonction des normes ' postales. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub adresse_Onchange dim adresse, adresse1, adresse2,adresse3, i adresse = Document.Formulaire.adresse.Value i=1 do while (i <= len(adresse) and not mid(adresse,i,2) = chr(13)&chr(10)) i = i + 1 loop if i-1 < 64 then adresse1 = trim(left(adresse, i-1)) else alert("Saisissez une adresse répondant aux normes postales françaises !") Document.Formulaire.adresse.value = "" exit sub end if i = i + 2 do while (i <= len(adresse) and not mid(adresse,i,2) = chr(13)&chr(10)) i = i + 1 loop if i-len(adresse1)-3 < 64 then adresse2 = trim(mid(adresse, len(adresse1)+3, i-len(adresse1)-3)) else alert("Saisissez une adresse répondant aux normes postales françaises !") Document.Formulaire.adresse.value = "" exit sub end if i = i + 2 do while (i <= len(adresse) and not mid(adresse,i,2) = chr(13)&chr(10)) i = i + 1 loop if i-len(adresse1)-len(adresse2)-5 < 64 then adresse3 = trim(mid(adresse, len(adresse1)+len(adresse2)+5, i-len(adresse1)-len(adresse2)-5)) else alert("Saisissez une adresse répondant aux normes postales françaises !") Document.Formulaire.adresse.value = "" exit sub end if i=i+2 if not i > len(adresse) then alert("Les normes postales françaises n'acceptent que 3 lignes de 63 caractères chacune !") Document.Formulaire.adresse.value = adresse1 & chr(13) & chr(10) & adresse2 & chr(13) & chr(10) & adresse3 end if end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' codepostal_Onchange ' objet : ce code formate le champs en le passant en majuscule. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub codepostal_Onchange if len(Document.Formulaire.codepostal.Value) > 10 then alert("Les normes postales françaises n'acceptent que 10 caractères !") Document.Formulaire.codepostal.value = "" end if end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' ville_Onchange ' objet : ce code formate le champs en le passant en majuscule. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub ville_Onchange if len(Document.Formulaire.ville.Value) > 63 then alert("Les normes postales françaises n'acceptent que 63 caractères !") Document.Formulaire.ville.value = "" end if Document.Formulaire.ville.Value = ucase(trim(Document.Formulaire.ville.Value)) end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' pays_Onchange ' objet : ce code vérouille les champs SIRET et Code APE en cas de sélect- ' -ion d'un autre pays que la France '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub pays_Onchange dim Test set Test = Document.Formulaire.pays if not ( Test.Value = "FR" or Test.Value = "GP" or Test.Value = "RE" or Test.Value = "GF" or Test.Value = "MQ") then Document.Formulaire.siret.Value = "Non applicable" Document.Formulaire.codeape.Value = "NA" else Document.Formulaire.siret.Value = "" Document.Formulaire.codeape.Value = "" end if end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' telephone_Onchange ' objet : ce code vérifie la validité du nuéro de téléphone saisie et for- ' -mate le champs sous la forme : XX XX XX XX XX... '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub telephone_Onchange dim telephone, Memoiretelephone, Temp, i, k telephone = Document.Formulaire.telephone.value Memoiretelephone = 0 Temp = 0 i = 1 k = 0 '-------------- Supprime tous les espaces dans la chaîne ---------------- do while not i > len(telephone) if mid(telephone, i, 1) = chr(32) then telephone = left(telephone, i-1) & right(telephone, len(telephone)-i) i = i - 1 end if i = i + 1 loop Memoiretelephone = telephone i = 1 '-------------- Recherche, suprime les +, ( et ) ds la chaîne ----------- if mid(telephone, i, 1) = chr(43) then telephone = left(telephone, i-1) & right(telephone, len(telephone)-i) do while not i > len(telephone) if mid (telephone, i, 1) = chr(40) then Temp = i telephone = left(telephone, i-1) & right(telephone, len(telephone)-i) i = i - 1 do while not i > len(telephone) if mid (telephone, i, 1) = chr(41) then Temp = i - Temp telephone = left(telephone, i-1) & right(telephone, len(telephone)-i) exit do end if i = i + 1 loop exit do end if i = i + 1 loop end if i = 1 '-------------- Vérifie la validité du numéro de téléphone -------------- if not isnumeric(telephone) or len(telephone) > 16 then alert("Saisissez un numéro de téléphone valide !") Document.Formulaire.telephone.value = "" exit sub end if i = 1 '-------------- Formate le numéro au format nombre à 2 chiffres --------- telephone = "" do while not i > len(Memoiretelephone) if mid(Memoiretelephone, i, 1) = chr(43) then telephone = telephone & mid(Memoiretelephone, i, 3) & chr(32) k = 1 i = i + 3 end if if mid(Memoiretelephone, i, 1) = chr(40) then telephone = telephone & mid(Memoiretelephone, i, Temp+3) & chr(32) i = i + Temp + 3 select case Temp/2 case temp\2 k = 0 case else k = 1 end select end if if not i/2 = i\2 then select case k case 1 telephone = telephone & mid(Memoiretelephone, i-1, 2) & chr(32) case else telephone = telephone & mid(Memoiretelephone, i, 2) & chr(32) end select end if i = i + 1 loop if len(Memoiretelephone)/2 = len(Memoiretelephone)\2 and k = 1 then telephone = telephone + right(Memoiretelephone,1) end if '-------------- Transmet le résultat ------------------------------------ Document.Formulaire.telephone.value = trim(telephone) end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' fax_Onchange ' objet : ce code vérifie la validité du nuéro de fax saisie et formate le ' champs sous la forme : XX XX XX XX XX... '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub fax_Onchange dim fax, Longueurfax, Memoirefax, Temp, i, k fax = Document.Formulaire.fax.value Temp = 0 i = 1 k = 0 '-------------- Supprime tous les espaces dans la chaîne ---------------- do while not i > len(fax) if mid(fax, i, 1) = chr(32) then fax = left(fax, i-1) & right(fax, len(fax)-i) i = i - 1 end if i = i + 1 loop Memoirefax = fax i = 1 '-------------- Recherche, suprime les +, ( et ) ds la chaîne ----------- if mid(fax, i, 1) = chr(43) then fax = left(fax, i-1) & right(fax, len(fax)-i) do while not i > len(fax) if mid (fax, i, 1) = chr(40) then Temp = i fax = left(fax, i-1) & right(fax, len(fax)-i) i = i - 1 do while not i > len(fax) if mid (fax, i, 1) = chr(41) then Temp = i - Temp fax = left(fax, i-1) & right(fax, len(fax)-i) exit do end if i = i + 1 loop exit do end if i = i + 1 loop end if '-------------- Vérifie la validité du numéro de fax -------------- if not isnumeric(fax) or len(fax) > 16 then alert("Saisissez un numéro de fax valide !") Document.Formulaire.fax.value = "" exit sub end if i = 1 '-------------- Formate le numéro au format nombre à 2 chiffres --------- fax = "" do while not i > len(Memoirefax) if mid(Memoirefax, i, 1) = chr(43) then fax = fax & mid(Memoirefax, i, 3) & chr(32) k = 1 i = i + 3 end if if mid(Memoirefax, i, 1) = chr(40) then fax = fax & mid(Memoirefax, i, Temp+3) & chr(32) i = i + Temp + 3 select case Temp/2 case temp\2 k = 0 case else k = 1 end select end if if not i/2 = i\2 then select case k case 1 fax = fax & mid(Memoirefax, i-1, 2) & chr(32) case else fax = fax & mid(Memoirefax, i, 2) & chr(32) end select end if i = i + 1 loop if len(Memoirefax)/2 = len(Memoirefax)\2 and k = 1 then fax = fax + right(Memoirefax,1) end if '-------------- Transmet le résultat ------------------------------------ Document.Formulaire.fax.value = trim(fax) end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' email_Onchange ' objet : Vérifie la validité de l'e-mail saisie et met tout en minuscule '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub email_Onchange dim email, Test, i, bValide set email = Document.Formulaire.email i = 1 '-------------- Vérifie la validité du nom d' -------------- if mid(email.value, i, 1) = chr(64) or len(email.value) < 6 then alert("Saisissez un e-mail valide !") email.value = "" exit sub end if do while not mid(email.value, i, 1) = chr(64) Test = mid(email.value, i, 1) if ( Test >= chr(0) and Test <= chr(44) ) or Test = chr(47) or ( Test >= chr(58) and Test <= chr(64) ) or ( Test >= chr(91) and Test <= chr(94) ) or Test = chr(96) or Test >= chr(123) or i = len(email.value) then alert("Saisissez un e-mail valide !") email.value = "" exit sub end if i = i + 1 loop i = i + 1 '-------------- Vérifie la validité du nom de ----------------- if mid(email.value, i, 1) = chr(46) then alert("Saisissez un e-mail valide !") email.value = "" exit sub end if do while i <= len(email.value) Test = mid(email.value, i, 1) if ( Test >= chr(0) and Test <= chr(44) ) or Test = chr(47) or ( Test >= chr(58) and Test <= chr(64) ) or ( Test >= chr(91) and Test <= chr(94) ) or Test = chr(96) or Test >= chr(123) then alert("Saisissez un e-mail valide !") email.value = "" exit sub end if if Test = chr(46) and not i = len(email.value) then bValide = true '----- nom de domaine valable end if i = i + 1 loop '-------------- Mise en minuscule de l'e-mail si nom de domaine valable - if bValide = true then email.value = lcase(email.value) else alert("Saisissez un e-mail valide !") email.value = "" end if end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' siret_Onchange ' objet : ce code vérouille le champ siret en cas de sélection d'un autre ' pays que la France. Sinon il vérifie la validitée des infos ' saisies et les formate sous la forme XXX XXX XXX XXX XX. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub siret_Onchange dim Form, siret, i set Form = Document.Formulaire siret = Form.siret.Value i = 1 if not ( Form.pays.Value = "FR" or Form.pays.Value = "GP" or Form.pays.Value = "RE" or Form.pays.Value = "GF" or Form.pays.Value = "MQ") then alert("Ce champ ne doit pas être remplis pour les sociétés qui ne sont pas situées en France") Form.CodeAPE.Value = "NA" exit sub end if '-------------- Supprime tous les espaces dans la chaîne ---------------- do while not i > len(siret) if mid(siret, i, 1) = chr(32) then siret = left(siret, i-1) & right(siret, len(siret)-i) i = i - 1 end if i = i + 1 loop '-------------- Vérifie la validité du numéro de siret ------------------ if not ( isnumeric(siret) and len(siret) = 14 ) then alert("Saisissez un numéro de siret valide !") Form.siret.Value = "" exit sub end if '-------------- Formate le numéro de siret sous la forme : XXX XXX XXX XXX XX siret = left(siret, 3) & chr(32) & mid(siret, 4, 3) & chr(32) & mid(siret, 7, 3) & chr(32) & mid(siret, 10, 3) & chr(32) & right(siret, 2) Form.siret.value = siret end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' codeape_Onchange ' objet : ce code vérouille le champ codeape en cas de sélection d'un autre ' pays que la France. Sinon il vérifie la validitée des infos ' saisies et les formate si nécessaire. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub codeape_Onchange dim Form, codeape set Form = Document.Formulaire codeape = Form.codeape.Value if not ( Form.pays.Value = "FR" or Form.pays.Value = "GP" or Form.pays.Value = "RE" or Form.pays.Value = "GF" or Form.pays.Value = "MQ") then alert("Ce champ ne doit pas être remplis pour les sociétés qui ne sont pas situées en France") Form.codeape.Value = "NA" exit sub end if codeape = trim(codeape) if Len(codeape) < 4 or Len(codeape) > 5 or not isnumeric(left(codeape,3)) or right(codeape,1) < "A" or ( right(codeape,1) > "Z" and right(codeape,1) < "a" ) or right(codeape,1) > "z" or (Len(codeape) = 5 and not mid(codeape, 4, 1) = chr(32)) then alert("Saisissez un code APE valide !") Form.codeape.Value = "" exit sub end if Form.codeape.Value = left(codeape,3) & chr(32) & ucase(right(codeape,1)) end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' nomresp_Onchange ' objet : ce code formate le champs en le passant en majuscule. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub nomresp_Onchange if len(Document.Formulaire.nomresp.Value) > 50 then alert("Le nom du responsable ne doit pas contenir plus de 50 caractères !") Document.Formulaire.nomresp.value = "" end if Document.Formulaire.nomresp.Value = ucase(trim(Document.Formulaire.nomresp.Value)) end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' prenomresp_Onchange ' objet : formate le champ de cette manière : Xxxxxxx. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub prenomresp_Onchange dim Prenom set Prenom = Document.Formulaire.prenomresp if len(Prenom.Value) > 50 then alert("Le prénom du responsable ne doit pas contenir plus de 50 caractères !") Prenom.value = "" end if Prenom.Value = ucase(left(ltrim(Prenom.Value),1)) & lcase(right(trim(Prenom.Value),len(Prenom.Value)-1)) end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' fonctionresp_Onchange ' objet : formate le champ de cette manière : Xxxxxxx. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub fonctionresp_Onchange dim Fonction set Fonction = Document.Formulaire.fonctionresp Fonction.Value = ucase(left(ltrim(Fonction.Value),1)) & lcase(right(trim(Fonction.Value),len(Fonction.Value)-1)) end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' filialegroupe_Onchange ' objet : Libère le champs CAFilialeFrance si le nom d'un groupe est sai- ' -sie. Ce code formate le champs en le passant en majuscule. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub filialegroupe_Onchange dim Formulaire set Formulaire = Document.Formulaire if Formulaire.filialegroupe.Value = "" then Formulaire.filialegroupe.Value = "NA" end if if Formulaire.filialegroupe.Value = "NA" then Formulaire.CAFilialeFrance.Value = "0,00" else Formulaire.CAFilialeFrance.Value = "" end if Formulaire.filialegroupe.Value = ucase(trim(Formulaire.filialegroupe.Value)) end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' cagroupefrance_Onchange ' objet : Libère le champs CAFilialeFrance si le nom d'une filiale est sai- ' -sie. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub cagroupefrance_Onchange if not isnumeric(Document.Formulaire.cagroupefrance.Value) then alert("Saississez un chiffre d'affaire valide !" & chr(13) & chr(13) & "nota : remplacez éventuellement le . par une , ") Document.Formulaire.cagroupefrance.Value = "" end if end sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' cafilialefrance_Onchange ' objet : Vérouille le champs cafilialefrance aucun nom de groupe a été ' saisie. Sinon vérifie que la saisie est de type numérique. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' sub cafilialefrance_Onchange dim Formulaire set Formulaire = Document.Formulaire if Formulaire.filialegroupe.Value = "NA" then alert("Ce champ ne peut être remplis que si votre société est une filiale d'un groupe !") Formulaire.cafilialefrance.Value = "0,00" end if if not isnumeric(Formulaire.cafilialefrance.Value) then alert("Saississez un chiffre d'affaire valide !" & chr(13) & chr(13) & "nota : remplacez éventuellement le . par une , ") Formulaire.cafilialefrance.Value = "" end if end sub