Userform pour remplir 3 feuilles excel
Résolu
boromba
Messages postés
702
Date d'inscription
Statut
Membre
Dernière intervention
-
boromba Messages postés 702 Date d'inscription Statut Membre Dernière intervention -
boromba Messages postés 702 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Userform pour remplir 3 feuilles excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Ai suite 3 - Télécharger - Optimisation
- Fusionner feuilles excel - Guide
- Déplacer colonne excel - Guide
6 réponses
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
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
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...
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...
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.
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.
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.