Userform
#1
Aspirant XLPages

Inscription: 07/03/2009

Messages: 35

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 13-05-2010 15h11

Bonjour à tous!

Je viens de découvrir l'intérêt de l'userform et j'essaye en vain d'en réaliser un.

Pourriez vous m'aider à le réaliser..

Je m'explique, je souhaiterais comptabiliser le nombre de carte remis aux clients sous la forme de base de donnée.

J'ai 4 textbox et un bouton valider.

Je souhaiterais que lorsque je clique sur le bouton valider que les infos saisies soient remplies dans la cellule correspondante, que les textbox se vident et que la prochaine saisie remplisse la cellule en dessous de la première.

Après plusieurs recherches infructueuses, je me tourne vers vous comme à mon habitude.

Merci de votre aide d'avance.

Voici une ébauche qui comporte quelques bugs.


Mishka
Pièce jointe:
zip Userform.zip   [ Taille: 10.81 Ko - Téléchargements: 524 ]
Hors Ligne
Rapport   Haut 

Re: Userform
#2
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 13-05-2010 16h51
Bonjour Mishka,

Petit classeur exemple avec code commenté.

J'ai ajouté une plage dynamique portant le nom "DATA" pour les besoins de la cause. Cette plage s'étend de la colonne A (N°) à la colonne E (N° de carte) et est définie par

=DECALER(BD!$A$1;;;NBVAL(BD!$A:$A);5)
J'ai éliminé la procédure à l'ouverture du classeur
Private Sub Workbook_Open()
Userform2.Show
End Sub
 
et l'ai remplacée par un bouton sur la feuille BD. Aussi j'ai renommé UserForm2 en frmSaisie ainsi que tous les TextBox histoire d'y voir plus clair. Le classeur aussi a été renommé.

Le code est simple et commenté mais il reste à ajouter des validations aux zones de texte. Par exemple une validation du no. de carte, une validation du format de date, etc. Ce sera pour une prochaine mouture.

En attendant jette un oeil au code et teste la chose. J'attends ton avis pour la suite.

Cordialement,

Guy

Édition : Oups, je viens de voir quelque chose. Il manque une directive Option Explicit dans le code des feuilles de calcul. Aussi pour t'assurer de toujours poser cette directive quel que soit le module de code voici la marche à suivre.

Dans l'éditeur VBA Menu Outils/Options... Onglet Éditeur, case à cocher "Déclaration des variables obligatoire"

Ainsi tu n'auras plus à te soucier d'ajouter cette directive, elle le sera automatiquement. Que du bonheur


Pièce jointe:
xls Formulaire de saisie.xls   [ Taille: 35.00 Ko - Téléchargements: 536 ]
Edité par Guy le 13/05/2010 17:13:30

Hors Ligne
Rapport   Haut 

Re: Userform
#3
Aspirant XLPages

Inscription: 07/03/2009

Messages: 35

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 14-05-2010 16h15
Bonjour.

Waow, votre formulaire de saisi est juste parfait.
Merci de votre aide.

J'ai relu le code VBA et en attendant de m'acheter un livre pour pouvoir comprendre ce langage, pouvez vous m'aider à réaliser des petites modifs citées ci-dessous:

- entrée de la date du jour automatiquement dans la txtDateAchat
- contrôle de la saisi sur tous les textbox,
- contrôle de saisi des champs,
      - txtNomClient = texte uniquement
      - txtNoCarte = chiffre uniquement limité à 7 caractères
      - txtMontantAchat = chiffre uniquement (en €)

D'autre part si vous aviez un livre à me conseiller sur l'apprentissage de ce langage. Il va m'être fort utile pour l'avenir et étant autodidacte, je souhaiterais me perfectionnait dans ce domaine.

Mishka.
Pièce jointe:
zip Formulaire de saisie.zip   [ Taille: 16.26 Ko - Téléchargements: 607 ]
Hors Ligne
Rapport   Haut 

Re: Userform
#4
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 15-05-2010 21h59
Bonjour Mishka,

Comme je te l'avais indiqué
Citation :
mais il reste à ajouter des validations aux zones de texte

tu as fourni les critères de cette validation. Bien.

Le nouveau classeur porte un formulaire avec validations, d'où le nom d'icelui (J'aime ces vieux pronoms démonstratifs, je suis moi-même assez démonstratif, pronominal et vieux ).

Les validations ajoutées sont :
  • Un maximum de sept (7) chiffres pour la zone Numéro de Série de la Carte KDO.
  • La saisie de nombres dans la zone Montant d'achat avec prise en compte du séparateur décimal d'Excel. Voir le code pour les détails.
  • La prise en compte de saisies vides dans le formulaire qui interdit le transfert vers la feuille de calcul si l'un des champs est vide.
  • L'inscription en lecture seule de la date du jour actuel dans la zone Date d'achat.
  • Pour ce qui est du champ txtNomClient avec texte uniquement, j'ai laissé la chose en l'état. Des précisions sont requises pour la limitation aux saisies valides. Doit-on limiter les caractères aux seuls caractères alphabétiques? Et l'apostrophe comme dans Monique Dell'Aniello, et le trait-d'union comme dans Jean-Pierre Jancovici? Que faire?

Le code est abondamment commenté mais il y a toujours moyen de s'y perdre. Alors, après lecture attentive, y'a qu'à revenir ici et à poser d'autres questions.

Citation :
D'autre part si vous aviez un livre à me conseiller sur l'apprentissage de ce langage.

Je ne saurais trop te recommander les 236 pages au format pdf de l'excellent tutoriel de J-M Rabilloud au Support de cours complet pour le VBA d'Excel que tu peux télécharger et zieuter à loisir quand bon te semble. Que du bonheur encore.

Voilà et très cordialement.

Guy

Pièce jointe:
xls Formulaire de saisie avec validations.xls   [ Taille: 57.50 Ko - Téléchargements: 601 ]
Edité par Guy le 16/05/2010 00:33:04

Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes