Bonjour le forum,
Je travaille actuellement sur un Formulaire sous Excel (UserForme en VBA) et je bloque sur certains masques de saisie :
1°) A partir du nom du salarié, la macro entre divers renseignements, dont le numéro de Sécurité Sociale. Je souhaite que celui-ci soit correctement formaté dans la cellule, car il apparaît sous forme d'une suite de chiffre.
J'ai utilisé l'enregistreur de macro pour voir comment Excel réagit, puis j'ai entré le code suivant :
Le format n'est pas le bon : avec un N° de Sécurité Sociale qui serait 1 85 12 08 123 456|78
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub NIR_Change() NIR.Value = Format(NIR.Value, "[>=3000000000000]#"" ""##"" ""##"" ""##"" ""###"" ""###"" | ""##;#"" ""##"" ""##"" ""##"" ""###"" ""###") End Sub
J'obtiens : 1 71 12 081 234 | 56
Plus simplement, j'ai essayé aussi :
Là, j'obtiens : 0 01 85 12 081 234|56
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub NIR_Change() NIR.Value = Format(NIR.Value, "0 00 00 00 000 000|00") End Sub
Bref, je tourne un peu en rond !
2°) Pour des horaires de travail, au format 39:00:00 dans ma base Excel, j'ai saisi le masque suivant :
Là, le masque est correct, mais j'obtiens "00:00:00", alors que la valeur correspondante de la base Excel est bien de 39:00:00.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Horaire_Change() Horaire.Value = Format(Horaire.Value, "hh:mm:ss") End Sub
3°) Enfin, j'ai concaténé le code postal et la ville de domicile du salarié, directement dans l'instruction suivante :
Or, le problème se pose pour les départements inférieurs à 10 : j'obtiens "3000 MOULINS" au lieu de "03000 MOULINS".
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 Private Sub Identité_Change() With Sheets("Base Agents") NumLigne = Me.Identité.ListIndex + 5 Me.Coef.Value = .Cells(NumLigne, 19).Value Me.Serv.Value = .Cells(NumLigne, 51).Value Me.CP_Ville.Value = .Cells(NumLigne, 12).Value & " " & .Cells(NumLigne, 13).Value Me.Cptc.Value = .Cells(NumLigne, 21).Value Me.Date_entrée.Value = .Cells(NumLigne, 27).Value Me.Emploi.Value = .Cells(NumLigne, 14).Value Me.Exp.Value = .Cells(NumLigne, 20).Value Me.Horaire.Value = .Cells(NumLigne, 22).Value Me.N°_agent.Value = .Cells(NumLigne, 1).Value Me.Domiciliation.Value = .Cells(NumLigne, 52).Value Me.NIR.Value = .Cells(NumLigne, 2).Value Me.Adresse.Value = .Cells(NumLigne, 6).Value & " " & Cells(NumLigne, 7).Value End With End Sub
Si quelqu'un passe par là et me trouve une solution sur l'un ou l'autre de ces points, ça me débloquerait pas mal !
Merci d'avance.
Cordialement.
Partager