Bonjour Ludvig, le Forum
Merci pour les compliments pour la Charte et merci de l'avoir lue.
Pour ton problème, il y aurait certainement mieux à faire, mais j'ai suivi ta conception qui est logique même si tu es débutant.
Donc tu retournes dans ton Label3 la date du Jour avec :
Private Sub UserForm_Activate()
Label3 = Range("A40").Value
End Sub
c'est OK, on peut juste préciser la Feuille pour éviter des suprises si tu travailles sur plusieurs feuilles (par défaut VBA prendra la feuille active)
Private Sub UserForm_Activate()
Label3 = Sheets("Feuil1").Range("A40").Value
End Sub
Ensuite pour ton Bouton "Valider" il suffit de faire ceci :
Private Sub Valider_Click()
Dim i As Byte
i = Format(Label3, "D")
If TextBox1 <> "" Then
Sheets("Feuil1").Range("C" & i).Value = TextBox1.Value
End If
End Sub
Tu auras bien la valeur tapé dans la TextBox1 reportée dans la ligne correspondante au numéro de Jour dans la colonne "C"...
Mais attention ce procédé implique qu'en aucun cas tu décales ta plage, car sinon il faudra décaler d'autant...
Exemple :
Ton calendrier commence en A2 car en A1 tu écris "Jour" et B2 "Date"...
Donc la macro va devoir être comme ceci :
Private Sub UserForm_Activate()
Label3 = Range("A41").Value
End Sub
Private Sub Valider_Click()
Dim i As Byte
i = Format(Label3, "D") + 1
If TextBox1 <> "" Then
Sheets("Feuil1").Range("C" & i).Value = TextBox1.Value
End If
End Sub
Voilà pour une première approche basic LudWig
et toi aussi ...
Bonne Fin de Journée
@+Thierry
PS 1: si tu as l'occasion, pense toujours à
Zipper les fichiers que tu postes sur le Forum... (Ceci va faire d'ailleurs l'objet d'une modif de la Charte)
PS 2: si tu veux des bases pour les UserForms
USF-Rudiments-Basic.zip