Renvois des données TextBox dans une cellule

  • Initiateur de la discussion Initiateur de la discussion Caroline1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Caroline1

XLDnaute Nouveau
Bonjour à tous,

je suis à la programmation d'un userform pour mon stage de fin d'étude et je veux que l'utilisateur, lorsqu'il entre des données dans les textbox, que cette information soit enregistré dans des cellules. À la suite de l'entrées des données, il doit changer de ligne.

Voici le code que j'ai fais

Private Sub CmdOk_Click()
Dim Date_Facture As Date, Numero_Facture As Integer
Dim Montant_facture As Currency, Nom_Entreprise As Integer

'Trouver la cellule vide

Range("a1").End(xlDown).Select
If ActiveCell.Offset(1) = "" Then
a = ActiveCell.Offset(1).Row
Else
a = ActiveCell.End(xlDown)(2).Row
End If

'Permet de sélectionner la cellule dans laquelle l'info doit _
& être enregistrer

For Date_Facture = 1 To 1
If Cells(Date_Facture, 1).Value = "" Then Cells(Date_Facture, 1).Value = TxtDate_Facture.Text
Next Date_Facture

For Numero_Facture = 1 To 1
If Cells(Numero_Facture, 2).Value = "" Then Cells(Numero_Facture, 2).Value = TxtNumero_Facture.Text
Next Numero_Facture

For Montant_facture = 1 To 1
If Cells(Montant_facture, 3).Value = "" Then Cells(Montant_facture, 3).Value = TxtMontant_facture.Text
Next Montant_facture

For Nom_Entreprise = 1 To 1
If Cells(Nom_Entreprise, 7).Value = "" Then Cells(Nom_Entreprise, 7).Value = TxtNom_Entreprise.Text
Next Nom_Entreprise

Unload FrmInformation

End Sub

Le problème est que je ne suis pas capable de le faire apparaitre dans mon fichier excel.

J'ai vraiment besoin de votre aide! Merci à l'avance
 
Re : Renvois des données TextBox dans une cellule

bonsoir
pour commencer ton code peut se résumer à ça:
Code:
Private Sub CmdOk_Click()
If Cells(1, 1) = "" Then Cells(1, 1) = TxtDate_Facture.Text
If Cells(1, 2) = "" Then Cells(1, 2) = TxtNumero_Facture.Text
If Cells(1, 3) = "" Then Cells(1, 3) = TxtMontant_facture.Text
If Cells(1, 7) = "" Then Cells(1, 7) = TxtNom_Entreprise.Text

Unload FrmInformation
End Sub


1' à quoi sert la recherche d'un cellule vide que tu n'utilises pas !?
2' je ne vois pas l'utilité des boucles 1 TO 1 !?

>>>>>> Dim Date_Facture As Date !!!!??????
>>>>>> Dim Montant_facture As Currency !!!!!?????

il faudrait joindre ton classeur pour voir avec l'userform,
car on ne comprend pas très bien ce que tu souhaites !?

pour faire apparaître un userform: MonUserform.Show

Roland
 
Dernière édition:
Re : Renvois des données TextBox dans une cellule

Bonjour à tous

A titre informatif (bien que code moins lisible), tu peux également résumer ainsi:

Code:
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 1 To 7
Select Case i
Case 1 To 3, 7
[B] If Cells(1, i) = "" Then Cells(1, i) = Me.Controls("TextBox" & i).Text[/B]
End Select
Next i
Unload Me
End Sub
Tu peux également remplacer la ligne en gras par celle-ci:
Code:
Cells(1, i) = IIf(IsEmpty(Cells(1, i)) = True, Me.Controls("TextBox" & i).Text, Cells(1, i))
Une dernière façon pour la route (en utilisant un tableau)
Code:
Private Sub CommandButton1_Click()
Dim C_Cel() As Variant
C_Cel() = Array(1, 2, 3, 7)
For i = 0 To UBound(C_Cel)
If IsEmpty(Cells(1, C_Cel(i))) Then Cells(1, C_Cel(i)) = Me.Controls("TextBox" & C_Cel(i)).Text
Next i
End Sub

PS: Ces différents codes fonctionneront si les TextBox ont pour noms
TextBox1, TextBox2, TextBox3, TextBox7
 
Dernière édition:
Re : Renvois des données TextBox dans une cellule

Bonjour et merci beaucoup pour votre aide. Dans le fond, je veux trouver la dernière cellule vide puisque c'est sur cette ligne que je veux que la nouvelle information apparaisse. Puisqu'il y aura plusieurs entrées en même temps, le code doit trouver la prochaine ligne vide, prendre l'information qui est entrée dans les textbox et la retourner sur la ligne. Ensuite, il doit se diriger sur la ligne en dessous pour pouvoir y entrer les nouvelles information.

S'il y a quoi que ce soit, donnez moi des nouvelles et je vous enverrai mon fichier

Merci
 
Re : Renvois des données TextBox dans une cellule

Bonjour Caroline et le forum,

J'ai apporté quelques corrections dans la saisie de l'onglet facture.
Tu y trouveras :
- une méthode pour récupérer la dernière ligne vide d'une colonne
- formater la saisie de la date au format jjmmaa ou jjmmaaaa
- formater la saisie du montant de la facture

J'ai commenté le code.
Si tu as besoin d'explications complétmentaires, n'hésite pas.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
194
Réponses
5
Affichages
253
Réponses
2
Affichages
124
Réponses
8
Affichages
474
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
176
Réponses
5
Affichages
237
Réponses
10
Affichages
286
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
497
Retour