Créer plusieurs UserForm ou des CommandButton

Bonjour à Tous,

je souhaiterai votre avis sur la projet de formulaire de saisie (c'est mon premier!!!) que j'ai encours de création.

ce formulaire a une cinquantaine de textbox et combobox qui a quelques exemptions peuvent remplir les 9 feuilles de mon classeur et je souhaitai votre avis sur le fait

* de créer 9 formulaires (1 pour chaque feuille de donnée) avec des macros qui ouvrent chaque formulaire et la feuille concerné. Ceux qui implique de créer 9 codes et formulaires différents!!!

1 formulaire

* de créer 1 seul formulaire avec 9 CommandButton qui ouvrirai la feuille concerné et après saisie du formulaire, alimenterai la feuille sélectionnée.

Pbm, comment interdire la saisie si aucun CommandButton n'est "enclenché", ...

commandbutton

en vous remerciant pour votre aide

je vous souhaite une bonne journée

Bonjour Fmas le forum

Tu rajoutes un combobox dans ton userform avec le choix de la feuille à remplir, et l'affaire est réglée, avec un seul Userform

a+

Papou

Bonjour,

bonjour paritec,

Ne crois-tu pas qu'il n'est pas utile d'ajouter une guirlande à un sapin de noël déjà trop chargé ?

Bonjour Paritec,

Bonjour Oxydum,

Merci pour vos commentaires.

@ Paritec:

une combobox à la place des commandButton ?

@Oxydum:

je comprend bien qu'il y a beaucoup de données à intégrer mais comment faire?

Précision, ce formulaire va servir à plusieurs personnes qui vont alimenter la base de donnée au fur et à mesure des actions qu'ils ont fait / vont faire.

Autre PRÉCISION, c'est le premier (gros) formulaire (le 4° en réalité mais les autres avaient une dizaine de textbox/combobox) que je fais en me servant des tutos et des divers forums, que je suis nul en VBA et en qu'en plus je ne parle (lis) pas l'anglais.

donc, que me conseiller vous?

Bon dimanche en espérant que "Fabien" (la tempête) passe loin de chez vous.

Re bonjour Fmas le forum

bah oui tu as la réponse dans mon premier post:

Tu rajoutes un combobox dans ton userform avec le choix de la feuille à remplir, et l'affaire est réglée, avec un seul Userform pour remplir toutes tes feuilles

a+

Papou

une combobox à la place des commandButton ?

oui c'est cela un combobox à la place de tes X commandbouton

Bonsoir Papou (Paritec)

donc, j'ai créé la combobox et cela fonctionne pour l'ouverture de la feuille.

Private Sub CbChoixFeuille_Change()
    Sheets(CbChoixFeuille.Text).Select
End Sub

par contre, les données ne s'inscrive pas dans la bonne feuille car j'ai ce code:

Private Sub BtCreer_Click()
'
    Dim L%, e As Control
    '
    Select Case MsgBox("Confirmez-vous l'insertion de ce nouveau dossier ?", vbYesNo, "Demande de confirmation d'ajout")
        Case VbMsgBoxResult.vbYes
        With Sheets("GAZ 33")      ' JE PENSE QUE C'EST A CAUSSE DU NOM DE FEUILLE INSCRIT ICI ???
                Range("A2").Select    'positionne la souris en A2
        L = .Range("A" & Rows.Count).End(xlUp).Row + 1
        'Pour placer le nouvel enregistrement à la première ligne non vide du tableau
        .Range("A" & L).Value = Me.TbRefBye.Text            ' N° aff
        .Range("B" & L).Value = Me.TbRefClient.Text         ' Client
        .Range("C" & L).Value = Me.TbNumMarche.Text         ' N° du Marché
        .Range("D" & L).Value = DTPicker1           ' Date Ouv OTP
' ect...

et je ne sais pas comment le modifier pour que les données se mettent dans la feuille sélectionnée?

Pour information, le nom des feuilles sont différentes les une des autres (GAZ 33, FTH 40, Astreinte, ... )

encore merci pour ton aide et te souhaite une bonne soirée

Francis

Bonjour,

Là il va falloir que tu te débarrasse de cette sale habitude d'activer et sélecter des feuilles, des ranges...Surtout si tu joues sur plusieurs feuilles c'est ton sélecteur de feuille (ici le combo qui doit déterminer le With ("TaFeuille").

Après la manière dont tu détermines la correspondance ça c'est ton problème : De nombreuses stratégies s'offre à toi (Table de correspondances, Array, Select case...) Le mieux est de les instancier avec Set...

Et pour les "Range" c'est pareil pas de Select. Dès que tu le peux tu détermines les lignes et colonnes cible puis tu affectes les données en conséquences aux cells(cible) et vice versa.

A+

Bonsoir Galopin,

Comme on l'a déjà évoqué lors d'un autre échange, je SUIS NUL en vba et en anglais. Pour faire ce formulaire (ou les autres formulaire) je me base sur des tutos ou des forums sur le net et donc je veux bien faire mais sans "explication / cours" c'est difficile, Je ne fait que du copier / coller / adapter à ma situation.

je vais regarder tes commentaires, essayer de comprendre et voir ce que je peux faire pour aller de l'avant..

Merci et bonne soirée

Francis

Les tutos, internet les forums c'est bien, Copier/Coller/Adapter c'est bien.

L'inconvénient c'est que ça te fait un patchwork de sources ou l'unité de programmation est rarement présente (euphémisme!)

Mon conseil est d'essayer de te "connecter" avec un répondeur privilégié et qui te parait convenable pour essayer d'homogénéiser un peu ta production personnelle et surtout pour essayer de capter au maximum les bonnes pratiques récurrentes.

N'hésite pas à demander, je ne rechigne jamais à développer mes explications.

Mais pour cela un fichier support est souvent indispensable. On ne peux pas corriger du code dans une boule de cristal. Donc si ce n'est pas déjà fait tu devrais préparer un fichier test suffisamment semblable à l'original pour qu'on puisse tester et suffisamment banalisé pour respecter la confidentialité nécessaire.

A+

Merci Galopin,

je prépare cela et je te fait suivre si tu veux bien

Bonne nuit

Bonjour Fmas le forum

Tu demandes de l'aide Ok, on te répond, mais si tu veux réellement que cela avance, il faut joindre ton fichier et là on va avancer

je n'ai pas lu ton code mais les selects comme dit galopin ne servent à rien c'est bien une certitude.

a+

Papou

Bonjour,

Bonjour Galopin,

Bonjour Paritec,

Si je devais donner un bon conseil, c'est de bien nommer les choses.

Par exemple une "Textbox1" qui comporte un nom de client doit se nommer "TB_NomClient"

Un bouton CommandButton1 doit être renommer "CB_Quitter" ou quelque chose comme un verbe d'action...

On gagne énormément en lisibilité du code.

Le deuxième conseil, c'est de bien analyser ce qu'on fait et de se poser les bonnes questions. Trop de saisies tue la saisie.

Il vaut mieux être "minimaliste".

Enfin, il faut soigner ses interfaces en adoptant un style épuré. Ce n'est pas chose simple.

Bonnes fêtes !

Bonjour Galopin, Paritec, Oxydum;

le forum

MERCI pour vos conseils, et je prend bonnes notes de vos remarques que je met en pratique immédiatement (enfin, demain car je suis en déplacement aujourd'hui).

je prépare un fichier à l'identique en modifiant les "noms" sensibles et vous le transmet avec qq explications.

Concernant les noms des TextBox, ComboBox, ... ils sont déjà tous rebaptiser en TbXxx ou CbYyy, ...

en vous REMERCIANT pour votre aide je vous souhaite une TRÈS BELLE FÊTE de NOEL.

Bonjour Galopin, Paritec, Oxydum;

MERCI pour votre soutien et comme vous me l'avez suggéré, je vous joint le fichier de mon projet.

Dans la feuille "Boutons"; j'ai essayé de vous expliquer les différentes choses que j'ai fait et ce que je n'ai pas encore fait.

je reste à votre disposition et

ENCORE une fois MERCI pour votre aide et en attendant je vous souhaite un Joyeux Noêl

42f22bbb2b09d718136ecb2f61817000

Bonjour Fmas le forum

en ce qui me concerne ce sera difficile de regarder aujourd'hui

mais demain ou après je regarde cela

a+

Bonnes Fêtes à tous

Papou

Galopin, Paritec, Oxydum;

bien entendu, je n'attends pas une réponse pour ce soir (sauf si vous voulez attendre que le vrai père noël passe vous voir !!) ni demain.

MERCI

Galopin, Paritec, Oxydum;

Désolé, je suis allé plus loin dans le contrôle du formulaire et j'ai trouver qq pbm que j'ai modifié.

actuellement en sélectionnant GA 33, cela fonctionne a peu près.!!!

le département ne se transfère pas!! ainsi que certaines date,

je continu a regardé cela mais pas avant jeudi.

je met le fichier V00_02

Bon réveillon

Bonjour Fmas,Galopin, Paritec, Oxydum;

Joyeux noël à tous et bonnes fêtes,

Une petite contribution pour les calendriers (commande et admin),

bonne continuation,

A+ Ferdinand

Merci Ferdinand pour ton aide.

peux tu me confirmer que je peux supprimer "MainCal" et "Classe 1" du projet ?

Bonnes fêtes

@+

Francis

Bonsoir Fmas,Galopin, Paritec, Oxydum et le forum,

peux tu me confirmer que je peux supprimer "MainCal" et "Classe 1" du projet ?

Oui tu peut les enlever

je te passe un autre classeur avec j’espère toutes les dates,

bonne soirée

Bey Ferdinand

Rechercher des sujets similaires à "creer userform commandbutton"