Problème TextBox: Définir chaine de caractère

Fermé
kay33 - Modifié par kay33 le 16/06/2010 à 10:55
 xerox - 16 juin 2010 à 16:04
Bonjour,

J ai la version Excel 97 et je travaille sous VBA

Mon problème et que actuellement sous une Userform j ai une TextBox et dans cette TextBox je rentre des dates sous cette forme jour/mois/année .

J arrive a mettre les slach automatiquement .
Mais mon problème est que je veut transférer ces dates sous une feuille de mon classeur a une case précise. Sa marche en partie mais pas comme il faut. C est a dire actuellement quand je tape par exemple la date du 10/06/2010.

Sous ma feuille excel sort en ligne 7: le chifres1 puis en ligne 6: le chiffres10 puis en ligne 5 : 10/ etc ... jusqu a la ligne 1 ou j aurais la date entière.

En clair actuellement dés que je tape quelque chose dans ma TextBox cette valeur est envoyé sous une feuille alors que moi je veut que la valeur de la TextBox sois envoyé sous une feuille et une case précise que lorsque que j ai tapé toutes la dates .


Voici ma formule que j ai mis pour cette TextBox y a un problème quelque part .


Private Sub TextBox1_Change()
Dim valeur As Byte
TextBox1.MaxLength = 10
valeur = Len(TextBox1)
If valeur = 2 Or valeur = 5 Then TextBox1 = TextBox1 & "/"
End If
End Sub



Dim valeur As Byte
With Sheets("Détail matériel")
TextBox1.MaxLength = 10
valeur = Len(TextBox1)
If valeur = 0 Or valeur = 10 Then TextBox1 = TextBox1 & "date entière"
.Range("d2").Insert (xlShiftDown)
.Range("d3").Copy
.Range("d2").PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
.[D2] = TextBox1
End With
End If
End Sub


Le problème vient de la 2ème partie a partir de Dim valeur As Byte.

Merci d avance



3 réponses

Remontée du fichier es que quelqu un aurais une solution ?
0
.
0
dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013 827
16 juin 2010 à 15:37
Bonjour !

Cela ne te rappelle rien cela :

Pour éviter ce genre de chose, il faut remplir le tableau en validant la boite de dialogue d'une façon unique et générale, lorsque toutes les données sont saisies dans userform et qu'elles sont OK pour remplir une ligne du tableau. C'est donc ce bouton de validation générale qui remplit le tableau et non pas les sub des combobox.
Ces sub des combox ne doivent servir qu'à la validation des données d'entrées.
C'est le principe de l'exemple que je t'avais passé ici


et ca :

dsl mais l exemple que tu ma donnée avec la comboBox 13 ne marche pas bien pour les 2 TextBox car lorsque je tape chifres par chiffres la dates: par exemple 23/05/2010 sa mais en ligne 6: 2 puis en ligne 5: 23 puis ligne 4 23/05 etc.....


parce que c'est ta textbox qui rempli ton tableau au fur et à mesure !


ON T'A DONC DIT DE METTRE LE CODE :
With Sheets("Détail matériel") 
.Range("d2").Insert (xlShiftDown)
.Range("d3").Copy
.Range("d2").PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
.[D2] = TextBox1 
End With

DANS LA SUB DU BOUTON DE VALIDATION DONC "GO" POUR TOI
0
dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013 827
16 juin 2010 à 15:40
0
ok sa marche merci
0