Formulaire a remplir

Bonsoir Excel pratique

Salut a tous et a toutes

Se sera un grand plaisir de trouver qui peut m'aider a finir ce fichier

Remplir l'userform1 et transmettre les details par commandButton (valider) au ( Feuil1 )

Combobox1 pour afficher les matieres du colonne C et Label7 pour afficher le prix de chaque matiere dans colonne E du ( Feui1)

Merci d'avance pour l'aide

Cordialement

MARTI

26essaie-1.xlsm (21.57 Ko)

Bonsoir Marti, bonsoir le forum,

D'abord il y a une grande incohérence dans la conception de ton fichier. Les matières avec leur prix doivent se trouver dans un onglet autre que celui où tu vas récupérer les données du formulaire.

En effet, que va-t-il se passer le jour où une matière va voir son prix augmenter (ou diminuer) ? Si tu as séparé les bases de données, tu pourras modifier un prix et ce changement ne s'appliquera qu'au données postérieures au changement...

Ensuite, je ne comprends pas pourquoi tu utilises une formulaire qui ne contient pas TOUTES les données (DETTE, DFA1, DFA2, DFA3). Cela signifie que certaines données vont être rajoutées à la main sans passer par le formulaire ???...

Tu devrais donc commencer par présenter un fichier avec un Onglet Prix qui ne contiendrait que deux colonnes : la Matière et son Prix avec une seule ligne pour chaque Matière/Prix et un onglet Base qui lui, recevra les données du formulaire.

La Combobox1 sera alimentée par la liste unique de l'onglet Prix. Je te conseille aussi de remplacer la Label7 du prix par une TextBox7 (dont l'accès sera interdit par exemple) pour utiliser la propriété [Value] de tous les contrôles. Car pour récupérer la valeur d'une Label il faut utiliser la propriété [Caption]...

Je te conseille aussi d'utiliser la propriété [Tag] des contrôles qui renvoient leur valeur dans le tableau. Cette propriété correspond à la colonne dans laquelle la valeur du contrôle est renvoyée. Cela permet de boucler sur les contrôles du formulaire pour renvoyer les données dans le tableau et évite d'écrire une ligne de code pour chaque contrôle...

En pièce jointe, ton fichier avec les changements que je te propose :

46marti-v01.xlsm (25.53 Ko)

Bonsoir Thau Thème

Bonsoir forum

Merci .. je vous remercie infiniment pour l'aide .. votre temps pour me resoudre ce probleme ..ce precieux cours vba presente et explique de votre part ..

Vous avez raison dans tous ce que vous dites dans tes propositions ..

Merci encore Thau Thème .. c'est parfaitement ce que je veux voir dans ce fichier

C'est parfaitement resolu .. il me reste une petite remarque lorsque j'ai par exemple 20 TV de meme marque qu'est ce qu'il faut faire avec combobox1

Regardez svp cette image pour mieux comprendre ce que je veux dire

Merci d'avance

Cordialement

MARTI

1

Re,

Désolé Marti mais je n'ai pas compris votre dernier problème. En fait, je n'ai pas compris la finalité de ton projet. Essaye de m'expliquer en détail ce que tu veux faire et comment fonctionne le fichier. Car, après coup, je ne suis même pas sûr que la solution proposée hier soir soit la bonne...

Bonjour Thau Théme

Bonjour excel pratique

Merci pour ton fichier et tes excellents codes..

je suis tres tres satsfait de ce travail de votre part

Comme je vous ai dis j'ai seulement un petit soucis :

on admettant que quelques clients ont acheté la meme matiere :

4 ou 5 personnes ont achete des tv de meme marque

3 ou 6 personnes ont achete aussi des TV d'autre meme marque

Seulement je veux que combobox1 soit identique avec la colonne C

Les matieres que je vais les enregistrer en colonne C s'affichent dans combobox1 tandisque ici dans ce fichier colonneC et combobox1 ne sont pas identique ..regardez svp l'image

Merci d'avance pour l'aide

Cordialement

MARTI

1

Bonjour le fil

Marti, la Combobox1 est alimentée par la colonne A de la feuille "Prix" et non par la colonne C de ta feuille "Base",

ce qui est totalement logique

Voir le code

Private Sub UserForm_Initialize() 'à l'initialisation de l'userForm
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)

Set B = Sheets("Base") 'définit l'onglet B
Set P = Sheets("Prix") 'définit l'onglet P
DL = P.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (=A) de l'onglet P
Me.ComboBox1.List = P.Range("A2:A" & DL).Value 'alimente la ComboBox1
TextBox2 = Format(Now, "dd/mm/yyyy") 'renvoie la date dans la TextBox2
End Sub

A+

Bonjour BrunoM45

Merci beaucoup pour l'explication

Il parait que je suis avec l'excel VBA deux chemin parralleles

Merci Thau Théme Merci BrunoM45

C'est resolu

Cordialement

MARTI

banner merci1
Rechercher des sujets similaires à "formulaire remplir"