Plusieurs onglet selon mois
Bonjour,
Je suis entrain de préparer un nouveau livre de caisse pour 2013.
Mon livre comporte 1 onglet par mois. Ceci dis, j'ai créer un userform pour rentrer les données dans le cellules concernés.
J'ai intégrer (grâce à l'aide sur votre forum) un code pour que ma boucle fonctionne en inscrivant mes données dans la 1ère ligne vide de mon onglet.
Maintenant, j'ai un calendrier dans ma textbox de mon userfom, j'aimerais que celui-ci en fonction de la date choisi m'inscrive dans le bonne onglet du bon mois.
Voici mon code:
Private Sub TextBox4_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = True
mDFXLcalShow CalCtrl:=TextBox4, CalFormat:="dd/mm/yyyy", CalLang:="FR"
End Sub
'Calendrier avec choix de la date
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
MsgBox "Vous ne pouvez pas utiliser ce bouton de fermeture." & Chr(10) _
& "Pour fermer cette boîte de dialogue, veuillez utiliser le bouton Quitter"
Cancel = True
End If
End Sub
Private Sub Valide_Click()
Sheets("Janvier").Range("A1000").End(xlUp).Offset(1, 0).Value = TextBox4.Value
Sheets("Janvier").Range("A1000").End(xlUp).Offset(0, 2).Value = TextBox1.Value
Sheets("Janvier").Range("A1000").End(xlUp).Offset(0, 3).Value = TextBox2.Value
Sheets("Janvier").Range("A1000").End(xlUp).Offset(0, 4).Value = TextBox3.Value
ActiveSheet.Protect Password:="TF"
Unload UserForm1
End Sub
Private Sub Quitter_Click()
Unload Me
End Sub
Je suis embarrasser car pour ma boucle j'appelle mon onglet par son nom (ci-dessus en rouge) du coup dois-je faire un userfom par mois? Je pense qu'il doit y avoir plus simple.
Merci de vos précieux conseils
Bonne journée
F.
Bonjour Fridoun,
tout d'abord utilise les balises de code pour le mettre en forme et le rendre plus lisible (en haut à gauche quand tu écris, près des balises gras, italique, ...)
t'auras pas besoin de faire plusieurs UserForm (UF) mais tu devras faire une petite manip avec une variable String.
Quelque chose du genre :
Dim NomFeuil as String
NomFeuil = Cstr(Format(DateChoisie,"mmm"))Bon courage
- Messages
- 358
- Excel
- 2003-2007 FR
- Inscrit
- 02/08/2011
- Emploi
- Consultant Test Performance / Audit
Bonjour,
Tu peux utiliser :
Dim monmois As string
monmois = Format(TextBox4.value, "MMMM")Si textbox4.value = 02/09/2012 alors monmois = septembre
Donc tu utiliseras ensuite :
Sheets(monmois ).Range("A1000").End(xlUp).Offset(1, 0).Value = TextBox4.Value
Sheets(monmois ).Range("A1000").End(xlUp).Offset(0, 2).Value = TextBox1.Value
Sheets(monmois ).Range("A1000").End(xlUp).Offset(0, 3).Value = TextBox2.Value
Sheets(monmois ).Range("A1000").End(xlUp).Offset(0, 4).Value = TextBox3.Value Dis moi.
Damien
Bonjour,
Effectivement ca fonctionne à merveille. De plus, et grâce à vous je comprends encore un peu plus le code VBA. Lire des articles ou livres ne suffise pas toujours, voir les résultats en suivant les code que vous me proposer me fait avancez dans ma compréhension.
Un grand merci vous êtes extra.
Bonne journée