Renvois des données TextBox dans une cellule

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
 

Roland_M

XLDnaute Barbatruc
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:

Staple1600

XLDnaute Barbatruc
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:

Caroline1

XLDnaute Nouveau
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
 

cbea

XLDnaute Impliqué
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

  • Recevable Caroline_2_v1.zip
    34.7 KB · Affichages: 61

Discussions similaires

Réponses
11
Affichages
358

Statistiques des forums

Discussions
312 508
Messages
2 089 143
Membres
104 047
dernier inscrit
bravetta