Formulaire de saisie

valou0202

XLDnaute Nouveau
Bonjour,

Je souhaite apprendre a faire des formulaires sur Excel j'ai essayé toute la journée j'ai appris pas mal de choses. Mais pour enregistrer des infos sur une autre feuille c'est plus compliqué. Dans le code que j'ai saisie quand je fait une nouvelle entrée il m'efface la première alors que je souhaite qu'il se mette a la suite. Mon fichier est un brouillon je test juste avant pour pouvoir faire le fichier ensuite.
Voici le code:

Private Sub Valider_Click()
Dim LastRow As Range
Dim response As Integer
Sheets("Liste").Activate
Set LastRow = Sheets("Liste").Range("A1:A65536").End(xlUp)

LastRow.Offset(1, 0).Value = TextBox1.Text
LastRow.Offset(1, 1).Value = TextBox2.Text
LastRow.Offset(1, 2).Value = TextBox3.Text

If response = vbYes Then
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""

TextBox1.SetFocus

Else
Unload Me
End If
End Sub


Merci a vous bonne soirée
Valou0202
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Formulaire de saisie

Bonsoir Valou0202,

Quelque chose de ce style ?

La feuille UserForm1 s'affiche si on sélectionne la feuille de calcul "Saisie" ou bien si on double-clique n'importe où dans cette feuille.
Faire afficher Userform1 si on clique une seule fois me parait peu pratique (on ne pourrai plus sélectionner des données de cette feuille)

Edit: une version V2 qui permet de lancer le UserForm si on clique ailleurs que sur la cellule active. On conserve la possibilité de sélectionner des zones ou de sélectionner une seule cellule (en sélectionnant deux fois de suite la même cellule).
 

Pièces jointes

  • FormSaisie Activate ou double-clique v1.xlsm
    13.6 KB · Affichages: 60
  • FormSaisie Activate ou double-clique v2.xlsm
    19.1 KB · Affichages: 65
Dernière édition:

valou0202

XLDnaute Nouveau
Re : Formulaire de saisie

Merci beaucoup il est vrai que cela est plus judicieux d'utiliser la version 2 pour avoir plus facilement le formulaire, je vous remercie de votre aide a tous, et reviendrais vers vous en cas de problème dans l'évolution de mon fichier.

Merci bonne soirée
Valou0202
 

valou0202

XLDnaute Nouveau
Re : Formulaire de saisie

J'ai encore besoin d'un peu d'aide dans mon code de départ pour la saisie il faudrait que je rajoute une liste déroulante mais je ne sais pas comment le rajouter dans mon code:

Private Sub Valider_Click()
Dim LastRow As Range
Dim response As Integer
Sheets("Liste").Activate
Set LastRow = Sheets("Liste").Range("A65536").End(xlUp)

LastRow.Offset(1, 0).Value = TextBox1.Text
LastRow.Offset(1, 1).Value = TextBox2.Text
LastRow.Offset(1, 2).Value = TextBox3.Text

If response = vbYes Then
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox1.SetFocus

Else
Unload Me
End If


End Sub

Merci
Valou0202
 

Dull

XLDnaute Barbatruc
Re : Formulaire de saisie

Salut Valou0202, mapomme:), Pierrot:), le Forum

Si tu as beaucoup de TextBoxes tu peux boucler sur ces objets avec une Variable

ex:
Code:
For i = 1 To 3
LastRow.Offset(1, i - 1).Value = Controls("TextBox" & i).Text
Next i

à la place de

Code:
LastRow.Offset(1, 0).Value = TextBox1.Text
LastRow.Offset(1, 1).Value = TextBox2.Text
LastRow.Offset(1, 2).Value = TextBox3.Text

de plus ton code comporte la variable réponse à quoi cela correspond car cela n’apporte rien a ton code actuel

enfin pour l'ajout d'un ComboBox cela implique une liste quelque part où est-elle?

Un essai en pièce jointe mais il serait plus judicieux que tu mettes le tien

Bonne Journée
 

Pièces jointes

  • FormSaisie Activate ou double-clique v3.xlsm
    18 KB · Affichages: 71

valou0202

XLDnaute Nouveau
Re : Formulaire de saisie

Bonjour
Mon code suivant indique mes colonnes et cela fonctionne très bien!
LastRow.Offset(1, 0).Value = TextBox1.Text
LastRow.Offset(1, 1).Value = TextBox2.Text
LastRow.Offset(1, 2).Value = TextBox3.Text

Merci beaucoup pour votre réponse je vais travailler dessus!!

Bonne journée atous
 

valou0202

XLDnaute Nouveau
Re : Formulaire de saisie

Bonjour a tous,

Je souhaiterai faire un formulaire de recherche seulement sur un critère:
Sur les Fournisseurs (liste déroulant), liste se trouve sur Feuil 4 Jusque là j'arrive a faire la liaison en la liste déroulante et la liste.
Ensuite je veux dans une liste déroulante tous les articles (que j'aurai saisie ) correspondant au fournisseur sélectionné
Ainsi que tous les information correspondant le prix la page...

Je ne peux pas joindre le fichier trop volumineux et problème pour le compresser, J'espère que quelqu'un pourra m'aider tout de même. Merci

Valou0202
 

Pierrot93

XLDnaute Barbatruc
Re : Formulaire de saisie

Bonjour, Salut Dull:)

Je ne peux pas joindre le fichier trop volumineux et problème pour le compresser, J'espère que quelqu'un pourra m'aider tout de même. Merci

A noter qu'il est très rare que nous ayons besoin du fichier original, simplement un tout petit extrait représentant uniquement le problème posé et expurgé de données confidentielles....

bon après midi
@+
 

odmohamed225

XLDnaute Nouveau
Re : Formulaire de saisie

Bonjour a tous

j'ai un petit soucis avec un formulaire que je fais actuellement et je suis débutant dans l’utilisation de vba. En pièce jointe vous avez mon fichier. je vous fais un liste de ce que je n'arrive pas a faire

-Dans un premier j'aimerais que toute mes saisie sur le formulaire s'affiche automatiquement sur la feuille base de données clients. jusque la ça va mais

- J'aimerai que une fois qu'on ouvre le formulaire dans la partie date la date du jours s'affiche automatiquement et s'installe dans la cellule qui lui est dédié sur la feuille mais dans le format jj-mm_aaaa.

-Pour le numéro de devis j'aimerai le meme automatisme que la date mais avec une incrémentation de sorte a ce que quand on ouvre le formulaire le numéro de devis s'affiche comme suit: Dev00001 puis a la prochaine ouverture Dev00002 etc

-Pour l'item distance j'aimerai que un fois cette case remplies deux cases location de camion et carburant se remplissent automatiquement et s'affiche dans leur case et dans excel les formule sont déjà dans le fichier mais pour location c'est (distance*2)*0.33+150 et carburant c'est (distance*2)*0.33 ensuite on rempli sois même les case péages ferry conducteur et la case frais du voyage se rempli automatiquement en faisant la somme de location de camion et carburant péages ferry conducteur

-Pour la case déménageur j'aimerais qu'elle soit figé sur 100 a chaque ouverture du formulaire et que lorsque on rentre dans la case kit emballage une valeur, les cases frais de main d'oeuvre (déménageur+kit emballage); la case marge (frais voyage +frais main d'oeuvre)*10%; et la case coût total du voyage (frais voyage +frais main d'oeuvre+Marge) se calcul et s'affiche dans les case et dans leur cellule respective sur la feuille excel (pour le moment avec ce que j'ai ça calcul tout mais je suis obligé de cliqué pour que ça s'affiche dans la case et la cellule respective

- Enfin quand je clique sur le bouton valider les info je souhaite qu'il calcule les différentes formules des dernière case en faisant respectivement pour chaque case coût total +100 /+200/+300/+400 qu'il les affichent dans leur cases et cellules puis le formulaire se ferme et re-ouvre pour une nouvelle saisie

ah oui et enfin si possible bloquer la feuille base de données client de sorte a ce qu'aucune modif ne puissent être faite dessus par erreur

je vous demande énormément j'en suis conscient mais s'il vous plais j'ai besoins de votre aide
 

Pièces jointes

  • LOGICIEL.xlsm
    287 KB · Affichages: 90
  • LOGICIEL.xlsm
    287 KB · Affichages: 97
  • LOGICIEL.xlsm
    287 KB · Affichages: 96

Discussions similaires

Réponses
6
Affichages
286

Statistiques des forums

Discussions
312 489
Messages
2 088 848
Membres
103 973
dernier inscrit
okoazer