2 TextBox qui doivent se parler

Résolu
avyrex1926 Messages postés 360 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 3 janvier 2012 - 10 janv. 2007 à 12:34
avyrex1926 Messages postés 360 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 3 janvier 2012 - 11 janv. 2007 à 11:50
Bonjour,

Dans mon UserForm, j'ai 2 TextBox qui doivent se parler.

Il y a le TextBox6 qui me donne la donnée dans mon fichier excel:
TextBox6 = Range("C193")   PS: cette donnée représente un numéro comme celui-ci:P01-2007-RBOU002

P01 =  periode de l'année. ( 13 periodes au total)
2007 =   l'année.
RBOU001 ....  =  Nom de l'évenement survenu.  Dans se cas si, RBOU001 représente la première évenement. RBOU002 représente le deuzième etc.........

Par contre, je voudrais que mon TextBox1 me donne la donnée du TextBox 6 +1. Donc le chiffre serait P01-2007-RBOU003
et cela, à l'ouverture de mon UserForm.

Est-ce possible?

De plus, je voudrais s'avoir si dans le UserBox1 Il me donne exemple la donnée comme ça: P_ _ - _ _ _ _ -RBOU003.

Je n'aurrais juste qu'a entrer les 2 chiffres aprés le P car le curseur se positionnerait à cette endroit automatiquement et ensuite, la même chose pour l'année et tous se transcrirait automatiquement comme ça P01-2007-RBOU003

Merci pour votre aide!!!!!!!!

5 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
11 janv. 2007 à 08:56
Re,
Bon essayons autre chose. Peu être ceci

Private Sub UserForm_Activate() 
        MaskEdBox1.Mask =  "P##-####-PBOU" &  Format (Right(TextBox6.Text, 3) + 1, "000") 
End Sub

J'ai testé avec juste un TextBox (TextBox6) contenant P01-2007-RBOU002

Et un masked edit box avec ceci
MaxLength = 16
Mask = P##-####-PBOU###
Format = ________________

Ca ne m'a pas donné de comportement bizarre comme cela pouvait être le cas avant

@+: Ju£i?n
Pensez: Réponse acceptée
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 janv. 2007 à 13:47
Salut,

Oui c'est possible
Essaie ceci. pas tres optimal mais c'est pour l'idee

Pour recupérer RBOU003
TextBox1.Text =  "P__-____-RBOU" &  Format (Right(TextBox6.Text, 3) + 1, "000") 

En revanche pour la seconde partie essaie de voir du coté du Microsoft Masked Edit Control 6.0

@+: =89254 Ju£i?n
Pensez: Réponse acceptée
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 janv. 2007 à 13:59
RE,

J'ai mieux, avec le Microsoft Masked Edit Control, version  6.0
Comme il n'est pas présent dans la boîte à outils de départ tu dois l'ajouterMenu Outils > Contrôles Supplémentaire> Microsoft Masked Edit Control, version 6.0

Tu le place sur ton UserForm et tu met à jour ses propriétés suivante.

MaxLength = 16
Mask = P##-####-PBOU###
Format = ________________

Puis dans l'événement Activate de ton UserForm

Private Sub UserForm_Activate() 
    MaskEdBox1.Text =   Left (MaskEdBox1.Text, 13) & Format(Right(TextBox6.Text, 3) + 1, "000") 
End Sub 

Voila j'espère que cela t'aide un peu

@+: =89254 Ju£i?n
Pensez: Réponse acceptée
0
avyrex1926 Messages postés 360 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 3 janvier 2012 3
11 janv. 2007 à 01:38
Merci beaucoup [auteurdetail.aspx?ID=89254 jrivet]pour la première partie, ça fonctionne.

Maintenant, pour la deuzième partie ou il est marqué "P__-____-RBOU"  Je suis oubligé d'éffacer les __ - ____ pour entrer les numéro car sinon ça donne ça: "P01__-2007____-RBOU".

Je voudrais seulement entrer 012007 et ça donnerait : "P01-2007-RBOU".

Est-ce réalisable? si oui comment?

merci encore pour votre aide!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avyrex1926 Messages postés 360 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 3 janvier 2012 3
11 janv. 2007 à 11:50
Re bonjour,

Merci beaucoup j'e l'ai fait avec seulement:

Private Sub UserForm_Activate() 
        MaskEdBox1.Mask = "P##-####-PBOU" & Format(Right(TextBox6.Text, 3) + 1, "000") 
End Sub

et tous fonctionne.

meci encore.
0
Rejoignez-nous