[déplacé VB6 -> VBA] Remplir automatiquement un numéro de Sécurité Sociale en VB
beesbee
Messages postés2Date d'inscriptionlundi 9 novembre 2009StatutMembreDernière intervention26 décembre 2010
-
24 déc. 2010 à 15:46
Profil bloqué -
26 déc. 2010 à 12:51
Une secrétaire remplit un formulaire sous word.
Elle coche un case M ou F dans la rubrique sexe.
exemple : M: X
Elle tape une date de naissance.
exemple : Date de naissance : 01/01/1990
Plutôt que de lui faire retaper les mêmes informations dans le N° de sécurité sociale je souhaite récupérer les informations déjà tapées :
exemple : 1 90 01 XX XXXXXX XXX
J'ai réussi pour le 1 :
Set Mcoche = ActiveDocument.FormFields("SexeM").CheckBox
If Mcoche.Value = True Then
' instruction NSSsexe = 1
ActiveDocument.FormFields("NSSsexe").Result = "1"
End If
Par contre je ne sais pas comment récupérer l'année de naissance et la mettre dans le champ NSSanneenaissance, ni le mois de naissance et le mettre dans le champ NSSmoisnaissance.
Salut
utilise les fonctions Right et Mid des chaines de caractères
Exemple :
Dnaissance = "30/12/1990" ' date de naissance
Mnaissance = Mid(Dnaissance,4,2) ' mois de naissance --> 12
Anaissance = Right(Dnaissance,2) ' année de naissance --> 90
Dnaissance, Mnaissance et Anaissance sont des chaine de caractères
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Salut
Je ne suis pas spécialiste en VBA mais Right et Mid fonctionnent sans problème avec Excel
Champ de formulaire B = Mid (Champ de formulaire A ,4,2 ) devrait fonctionner sans problème pour avoir le mois de naissance
Attention 4 est la position du premier caractère à chercher et le 2 indique le nombre de caractères ( 2 pour le mois)
Dans ton exemple tu as remplacé le 4 par un 2 : donc erreur
La date doit être au format XX/XX/XXXX où X représente des chiffres
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.