TextBox

  • Initiateur de la discussion Ludwig
  • Date de début
L

Ludwig

Guest
Bonjour à tout le forum,

Je tente depuis ce matin d'envoyer un message, mais en vain car je ne vois toujours pas apparaitre mon message. J'espère vraiment que se sera la bonne cette fois ci car je commence à être à bout. E tout cas, j'ai eu le temps de visiter en long et en travers ce site qui, je dois le reconnaitre est super.
J'ai pris connaissance de la chartre qui a le mérite d'être clair et net.

En bref, si me suis connecte sur ce forum c'est que je suis à bout de souffle. Je suis vraiment débutant dans ce domaine. Mon but serai de créer un userform (avec TextBox) pour saisir des données.

J'ai une cellule de référence "A40"[=AUJOURDHUI()] formatée 'j'. Il faudrait que les données s'enregistrent dans le colonne "C" en fonction de la valeur de "A40". Ex: si "A40" = 3, "C3" = la valeur du TextBox,
si "A40" = 4, "C4" = la valeur du TextBox, et etc...

De plus, si il existe déjà une valeur dans "C3" la valeur du TextBox doit s'additionner à celle de "C3".

J'avoue que mes connaissances sont tellement limitées que je ne sais même si cela est possible à réaliser. Mais j'ai entre aperçu les fichiers à télécharger et cela m'a redonné envie.

J'espère qu'une ame charitable porra m'aider.

En tout cas merci d'avance et bon courage à tous.

Ludwig.

PS : il y a un fichier joint si cela peut aider... Merci
 

Pièces jointes

  • Ludwig.xls
    24 KB · Affichages: 47
@

@+Thierry

Guest
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 ...

Bienvenue_XLD.gif


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
 
L

Ludwig

Guest
Bonjour Thierry,

Alors là, je ne sais pas quoi dire. C'est parfait, super, génial, enfin que du bon... Dire que je me triture la tête depuis plusieurs jours. Ce n'est même plus une épine que tu m'enlèves des pieds mais un pieux.

Bref vraiment un grand MERCI à toi et au forum.

Et merci pour ta bienvenue sur le site.


Ludwig
 

Discussions similaires

Statistiques des forums

Discussions
312 176
Messages
2 085 967
Membres
103 072
dernier inscrit
Remithesix