[déplacé VB6 -> VBA] Remplir automatiquement un numéro de Sécurité Sociale en VB

beesbee Messages postés 2 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 26 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.

Merci de votre aide.

3 réponses

Profil bloqué
25 déc. 2010 à 14:12
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.

GRENIER Alain
0
beesbee Messages postés 2 Date d'inscription lundi 9 novembre 2009 Statut Membre Dernière intervention 26 décembre 2010
26 déc. 2010 à 12:26
Merci Alain.

Est-ce que ça fonctionne avec un formulaire?

J'ai l'impression que les dates sont modifiées lors de leur enregistrement dans un champ de formulaire.

Les expressions sont également plus difficiles à écrire avec des champs de formulaires.

Est-ce possible d'écrire :

Variable = Mid( ???champ de formulaire???, 2,2) ???

ou même mieux, sans passer par une variable

Champ de formulaire B = Mid ( Champ de formulaire A , 2,2 )

Merci
0
Profil bloqué
26 déc. 2010 à 12:51
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.

GRENIER Alain
0
Rejoignez-nous