Userform pour remplir 3 feuilles excel

Résolu/Fermé
boromba Messages postés 702 Date d'inscription samedi 14 novembre 2009 Statut Membre Dernière intervention 18 août 2011 - 19 nov. 2009 à 05:46
boromba Messages postés 702 Date d'inscription samedi 14 novembre 2009 Statut Membre Dernière intervention 18 août 2011 - 25 nov. 2009 à 22:16
Bonjour,
j'ai un userform qui peut remplir seulement 1 feuille d'excel (4column).
j'aimerais pouvoir remplir 3 feuilles differentes avec ce meme userform on lui rajoutant 5 textbox (donc au total 9 textbox) 4 pour remplir feuil1, 3 pour remplir feuil2, et les 2 restant pour remplir feuil3
PRECISION IMPORTANTE: les données de chacune des feuilles sont differentes
dans mon code ci-dessous c'est les données pour feuil 1
feuil1:nom, prénom,poste,service
feuil2:assurane, taux, taxe
feuil3:rendement, budget
comment je pourrais modifier le code? merci à vous, thanks a lot

Private Sub CmdAdd_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Feuil1")

'find first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row

'check for a Name
If Trim(Me.txtnompré.Value) = "" Then
Me.txtnompré.SetFocus
MsgBox "Entrer Nom et Prénom"
Exit Sub
End If

'copy the data to the database
ws.Cells(iRow, 1).Value = Me.txtnompré.Value
ws.Cells(iRow, 2).Value = Me.txtnumero.Value
ws.Cells(iRow, 3).Value = Me.liste_poste.Value
ws.Cells(iRow, 4).Value = Me.liste_service.Value

'clear the data
Me.txtnompré.Value = ""
Me.txtnumero.Value = ""
Me.liste_poste.Value = ""
Me.liste_service.Value = ""
End Sub
A voir également:

6 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
19 nov. 2009 à 09:36
Bonjour,
même méthode que pour la Feuil1 : légèrement modifiée...

Private Sub CmdAdd_Click()
Dim iRow As Long

With Sheets("Feuil1")
iRow = .Range("A65536").End(xlUp).Offset(1, 0).Row
If Trim(Me.txtnompré.Value) = "" Then
Me.txtnompré.SetFocus
MsgBox "Entrer Nom et Prénom"
Exit Sub
End If
.Cells(iRow, 1).Value = Me.txtnompré.Value
.Cells(iRow, 2).Value = Me.txtnumero.Value
.Cells(iRow, 3).Value = Me.liste_poste.Value
.Cells(iRow, 4).Value = Me.liste_service.Value
End With
With Sheets("Feuil2")
iRow = .Range("A65536").End(xlUp).Offset(1, 0).Row
'remplacer txtassurance, txttaux et txttaxe par les noms de vos textbox (5, 6, 7)
.Cells(iRow, 1).Value = Me.txtassurance.Value
.Cells(iRow, 2).Value = Me.txttaux.Value
.Cells(iRow, 3).Value = Me.txttaxe.Value
End With
With Sheets("Feuil3")
iRow = .Range("A65536").End(xlUp).Offset(1, 0).Row
'remplacer txtrendement, txtbudget par les noms de vos textbox (8 & 9)
.Cells(iRow, 1).Value = Me.txtrendement.Value
.Cells(iRow, 2).Value = Me.txtbudget.Value
End With
'clear the data
Me.txtnompré.Value = ""
Me.txtnumero.Value = ""
Me.liste_poste.Value = ""
Me.liste_service.Value = ""
Me.txtassurance.Value = ""
Me.txttaux.Value = ""
Me.txtrendement.Value = ""
Me.txtbudget.Value = ""
End Sub
2
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
24 nov. 2009 à 11:21
Salut,
Tu fais ta textbox comme toutes les autres... C'est le code qui "envoie" la valeur de la textbox dans la feuille excel qui va changer.
Si tu veux obtenir le résultat de l'opération en A1 tu écris :
[A1].Formula = "=" & TextBox1
Par contre dans ta textbox il ne faudra pas inscrire le signe "=", juste taper : 12*15+4 ou (2+6)/5...
La version à 3 textbox me semble trop fastidieuse pour l'utilisateur...
1
boromba Messages postés 702 Date d'inscription samedi 14 novembre 2009 Statut Membre Dernière intervention 18 août 2011 201
19 nov. 2009 à 17:26
MERCI BEAUCOUP PIJACU, ca fonctionne a merveille.
peux-tu m'indiquer comment par exemple dans un textbox (salaire) je pourrais enter =80*20*26, en d'autres mots j'aimerais pouvoir formater le textbox.
excuser mon francais.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
20 nov. 2009 à 09:00
Bonjour,
Je ne comprends pas la question. Que sont ces chiffres 80 20 & 26? D'où viennent-ils? Ce sont toujours les mêmes? Donne moi plus de renseignements.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
boromba Messages postés 702 Date d'inscription samedi 14 novembre 2009 Statut Membre Dernière intervention 18 août 2011 201
20 nov. 2009 à 19:24
salut,
c'est une textbox qu'on pourra la remplir comme on rempli une cellule excel avec une formule de calcul du genre =12*15+4 ou (2+6)/5, les valeurs peuvent changer et ne viennent pas d'une base de donnés.
ou bien j'aimerais creer 3 textbox qui vont afficher le résultat du calcul dans une autre texbox.
merci beaucoup.
0
boromba Messages postés 702 Date d'inscription samedi 14 novembre 2009 Statut Membre Dernière intervention 18 août 2011 201
25 nov. 2009 à 22:16
merci pijacu pour ton aide, effectivement c'est mieux avec une formule qu'avec 3 textbox.
0