Formulaire de saisie généré à partir d'une macro excell

L

Laeti

Guest
Bonjour,
je cherche à generer un formulaire de saisie à partir d'un macro et toutes les aides dont je dispose n'utilisent que l'assistant (que je ne peux utiliser) ...
Vous savez comment on ajoute un userform à une page ?
on lui ajoute des controls etc ...
En tout cas merci beaucoup !

Laeti
 
R

renato

Guest
salut,
tout d'abord on ne peut plus ajouter une userform à une page depuis
excel97.(office95).
Cette fonction a été modifié et est accéssible de la façon suivante :
dans excel ,
- selectionner outils - macros - editeur visual basic.
- insertion - userform.
Voilà à toi de creuser.
bon courage
 
@

@+Thierry

Guest
=> DEMO USERFORM Leçons Rudimentaires pour créer un USF de Saisie...

Bonjour Laeti, Renato


Vu que pas de gens sont interressés par ce genre de truc, j'ai trouvé bon de faire une sorte de moàde d'emploi basic pour générer un UserForm de Saisie...

Je vous laisse découvrir le Fichier Joint...


Bon Aprèm

@+Thierry

(PS c'est deux fois plus long de faire un truc comme ça "with full explanations", que de développer une appli !!... J'espère que ça va vous servir !!)
 

Pièces jointes

  • USF-Rudiments-Basic.zip
    20.5 KB · Affichages: 991
Dernière modification par un modérateur:
@

@+Thierry

Guest
Re: => DEMO USERFORM Leçons Rudimentaires pour créer un USF de Saisie...

Comme disent les Ricains "You are Welcome"

Si tu as besoin d'explications complémentaires, n'hésite pas non plus.

J'espère que ce petit fichier servira à tous ceux (celles) qui débutent en UserForm... Car il est vrai que ce n'est pas toujours évident au tout début.

Bon Aprèm
@+Thierry
 
M

marmotte

Guest
bonjour forum

l'explication de ton userform est tres bien expliquer thierry
je ne connais pas grand chose en vba sois pas surpris de ma question
faut il toujours mettre textebox1 textebox2 ou peut on utiliser les noms des champs qu'on doit remplir ( par exemple utiliser nom.value a la place de textebox1.value)


autre point comment on fait pour avoir une saisie numerique obligatoire dans textebox1


bonne fin d'apres midi a vous tous

marmotte
 
@

@+Thierry

Guest
Re Bonsoir tous les gens de ce Fil...

Et oui, STéph... John Walkenbach aurait sûrement fabriqué le UserForm en VBA en cliquant sur les bouton "Step by Step" en créant des captures écran à la volée !!!.... Suis pas arrivé à faire çà !!!

Pour Marmotte, ta question est loin d'être surprenante ou idiote ! Une première recommandantion est de faire très très très attention quand on nomme les Controls ActiveX... C'est carrément une source de gros plantage si on fait n'importe quoi, même au risque de perdre définitivement le classeur sur lequel on s'est acharné des heures... ça m'est arrivé ##*%##!!!^^@###

Donc pour renommer un controle (TextBox, ListBox, ComboBox, OPtionButton...etc etc etc) quand on est sur VBE avec la fenetre de Design Active sur le userForm... Il suffit de clicker sur par exemple la TextBox1...

Tu fais F4 (ou Menu=> Affichage => Fenêtre de Propriétés)
La première propriété est le Nom du Control Actif... Ici donc "TextBox1"...
Tu peux le renommer en tapant diretement dans cette fenêtre propriété.

RECOMMANDATIONS POUR LES NOM D'ACTIVEX !
Les espaces et caratères spéciaux sont Forbidden
Faire ultra attention de ne pas dupliquer un Nom... cela peut finir en catastrophe avec un fichier irrécupérable... (Car parfois VBE ne raffraichit pas assez vite les controls... et quand il se rend compte d'un doublon, c'est le big bordel !!)

Les nom doivent quand même représenter ce qu'est le contrôle à l'origine, par exemple en convention de développeurs, une TextBox "customizée" se nommera par exemple TxbClient, TxbArticle, et une ComboBox par exemple : CbxAdresse, une ListBox : LibVille........ Enfin c'est surtout pour toi, car en écrivant et, surtout plus tard en lisant un code, tu sauras de suite de quel contrôle il s'agit...

Ici dans mes démos, je laisse soit le nom par défaut, soit, pour la compréhension de tous je nomme carrément TextBoxClient, ComboBoxAdresse... etc etc... avec les copié collé je ne tape pas grand chose !


Pour ta question "comment on fait pour avoir une saisie numerique obligatoire dans TextBox1

Deux Solutions dans l'évènement change (on intercepte l'erreur dès le début!)

La première (ma préférée !!) simple discrête et infaillible sans stresser le user !!
Private Sub TextBox1_CHANGE()
If Not IsNumeric(TextBox1) Then
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(TextBox1.Text) '(special Thanx à Monsieur STéphane post du 2000/06/29 sur le MPFE)
End With
Exit Sub
End If
End Sub

La seconde avec un message pour agacer le User (déjà qu'il est stressé, le pauvre !!)

Private Sub TextBox1_CHANGE()
If Not IsNumeric(TextBox1) Then
MsgBox "Et alors espèce de bachibouzouk ##ùù@^^^ on a dit des chiffres ici !!!", vbCritical, "lol"
Exit Sub
End If
End Sub


Voilà, comme çà on peut recenser ce fil aussi pour la Database XLD !! =>Numéro 28757

Bonne Soirée les Ami(e)s
@+Thierry
 
@

@+Thierry

Guest
=> UserForm DEMO (Redif) TextBox Numérique avec Séparateur de Décimales "." ","

Tiens en complément...

Un petit fichier convertisseur EUR => FRF => EUR (vieux motard que jamais !!)

Non, lol... c'est surtout répondre à la prochaine question de ce fil de discussion ...

"Quand on tape le séparateur de Décimal sur le pavé numérique en Regianal Settings FR, la macro de @+Thierry ne marche pas..." lol

Dans ce fichier démo il y a la solution !
==>Lien supprimé (45k)

Bye Bye
@+Thierry
 
M

marmotte

Guest
re le forum

j'ai bien lu ta reponse et j'ai compris qu'avec mon niveau de competence actuel il ne vaut mieux pas que je modifie le nom des texbox pour le momment

par contre je vais mettre en application ta solution pour mes entrée numerique


merci de repondre aussi vite
bonne soiree
marmotte
 
R

renato

Guest
Re: => DEMO USERFORM Leçons Rudimentaires pour créer un USF de Saisie...

bonsoir tout le monde
Merci à thierry pour le complément en userform
je ne manquerais pas de te faire part des suites.
salut
 

Discussions similaires

Statistiques des forums

Discussions
314 651
Messages
2 111 554
Membres
111 201
dernier inscrit
netcam