Modification base de donnée via userform (formulaire)

  • Initiateur de la discussion Initiateur de la discussion lebast
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lebast

XLDnaute Junior
Bonjour à tous,

je me permets de créer ce post car j'ai plusieurs questions concernant la conception de formulaire Userform.

Dans un but personnel, je me suis lancé le défis de créer un fichier excel qui me permettrait via un formulaire de remplir une base de données clients et un autres formulaires qui me permettrait de modifier les données d'un client.

J'ai réussis à créer le premier presque à 100% (malgrés que je n'arrive pas à créer un dernier point)

Cependant je bloque sur le second et c'est pour cela que j'ai besoin de votre aide.

Je vous énumère les différents point qui me bloque :

1/ dans le premier userform qui souvre en appuyant sur le bouton "création nouveau client", je n'arrive pas à faire deux choses :
a/ consolider les trois boutons du bas (effacer formulaire, enregistrer et fermer formulaire)
b/ dans la textbox "code client" faire apparaitre le code client calculer, je m'explique : je souhaiterais incorporer une formule du style =MAX("BD Client"!A3:A1000)+1. qui calcul le code client automatiquement en fonction de ceux déjà créer. celui ci devrait apparaitre dés l'ouverture du formulaire de création de client.


2/ dans le second formulaire, je n'arrive pas à alimenter ma list box ("Raison social/nom") avec les données présentent dans la feuille "BD client".
une fois le nom sélectionner je souhaiterais que le formulaire importe les données pour que je puisse les modifier et les réenregistrer dans la base de données.

j'ai bien essayer de prendre exemple sur des tuto ou des fichiers exemple mais je bloque ne comprenant pas pourquoi.


je tiens également à vous préciser mes motivations :
- je ne souhaite pas que vous fassiez tout le travail !
- au contraire je veux comprendre et m'améliorer en vba

PS : mon niveau n'est pas très élevé mais je suis de nature curieuse et je n'aime pas abandonné!

je vous remercie par avance de toute l'aide que vous pourrez m'apporter !

Toute vos critiques sont les bienvenues !!
 

Pièces jointes

Dernière édition:
Re : Modification base de donnée via userform (formulaire)

Bonsour®
pourquoi créer 2 formulaires quasi identiques
un seul devrait suffire 🙄
en faisant apparaitre les boutons de gestion : Suivant, Précédent, Nouveau, Modification, Suppression, Validation
c'est l'appui sur l'un ou l'autre de ces boutons qui déterminera l'action à effectuer
faisant alors appel à des procédures communes facile à modifier indépendamment les unes des autres
- initialisation Raz du formulaire
- Recherche Enreg
- Ajout enregistrement
- transfert formulaire vers BdD
- transfert BdD vers formulaire
- suppression enregistrement
- contrôles de validité

il s'agit de principes éprouvés et recommandés de découpage modulaire et fonctionnel

nb :
le N° d'enregistrement doit être unique
un code client ne doit faire référence qu'a un seul client
un code client peut être rattaché de 1 à "n" enregistrements
 
Dernière édition:
Re : Modification base de donnée via userform (formulaire)

Modeste Geedee,

je te remercie tout d'abord de répondre à mon post.

Je pense que tu as raison concernant l'utilisation d'un seul formulaire (plus ludique)

cependant ayant un petit niveau en VBA, je ne savais pas par ou commencer, j'avais donc choisis cette option.
ce sera plus facile à créer ?

si tu as des conseils ou des exemples de bouts de macro je suis preneur, car ma difficulté c'est comment reremplir tout les champs du formulaire lorsque je veux modifier mes données clients ?

bien cordialement,

et merci encore !
 
Re : Modification base de donnée via userform (formulaire)

Jean-Marcel,

Wahou ! c'est du super travail que vous avez fait !! c'est exactement ce à quoi je voulais arriver !!
maintenant il va falloir que je le comprenne et pour ca je vais aller fouiller dans le code !!

je reviens vers vous !

encore un gros merci !!!
 
Re : Modification base de donnée via userform (formulaire)

Bonjour Jean-Marcel,

Tout d'abord je vous remercie pour le travail que vous avez effectué, je scrute les codes pour comprendre !
je vais essayer de refaire la même chose pour des fournisseurs ou article par exemple pour m'entrainer.

encore un gros merci !

cordialement,
 
Re : Modification base de donnée via userform (formulaire)

Jean Marcel,

j'ai essayé de reprendre tout votre code pour l'appliquer à un nouveau userform qui traite des articles. j'ai fais un copié coller pour ensuite modifier les noms des textbox et combobox mais ca ne fonctionne pas très bien.

pour ouvrir le formulaire il suffit de cliquer sur créer/modifier article

je m'explique :
- les listes déroulantes ne se charge pas pourtant j'ai bien repris le même code

- les boutons enregistrer // effacer la feuille // et supprimer ne fonctionne pas non plus !

De plus je me demandé si il était possible de modifier le numéro automatique qui se génère à la création d'un article ou d'un client ? par exemple à la place de "1" pour le client n°1 avoir C0001 ??

je vous joins le fichier en PF

je vous remercie encore !

bastien
 

Pièces jointes

Re : Modification base de donnée via userform (formulaire)

Jean-Marcel,

je vous remercie vraiment de passer du temps pour m'apprendre de nouvelles choses.

j'ai suivis vos recommandations et comme convenus je vous re-post le fichier.

que dois-je faire maintenant ?

je n'ai touché à rien d'autres que ce que vous m'avez demandé.

cordialement
 

Pièces jointes

Re : Modification base de donnée via userform (formulaire)

bonjour Jean-Marcel,

j'ai bien suivis votre méthode, et je vous avoue que les commentaires sont très utile.

Cependant faut-il que j'efface tout le code que j'avais copié du premier userform?

car après avoir suivis votre démarche, j'ai un message d'erreur qui s'affiche, je vous le joint.
 

Pièces jointes

  • Capture.PNG
    Capture.PNG
    14.8 KB · Affichages: 171
  • Capture2.PNG
    Capture2.PNG
    3.3 KB · Affichages: 140
  • Capture.PNG
    Capture.PNG
    14.8 KB · Affichages: 151
  • Capture2.PNG
    Capture2.PNG
    3.3 KB · Affichages: 119
  • Capture.PNG
    Capture.PNG
    14.8 KB · Affichages: 130
  • Capture2.PNG
    Capture2.PNG
    3.3 KB · Affichages: 148
Re : Modification base de donnée via userform (formulaire)

Je me permet de vous poser des questions et j'espère que cela ne vous dérange pas.

il y a une chose que je ne comprends pas :

- à quoi correspond,
' je lance la macro InitDérooulantArticle et non pas InitDérooulantClient
InitDéroulantArticle
InitDéroulantArticle = une macro ??
 
Re : Modification base de donnée via userform (formulaire)

si je comprend bien, et mon but est de comprendre

la macro si dessous, créé la macro "InitDéroulantArticle"

Sub InitDéroulantArticle()
Dim NbLigneUtilisée As Integer
With Sheets("BD Article")
NbLigneUtilisée = 0
For Each Cell In .Range("B2:B" & .Range("B1000").End(xlUp).Row)
Me.ComboDesignationArticle.AddItem
Me.ComboDesignationArticle.List(NbLigneUtilisée, 0) = Cell
Me.ComboDesignationArticle.List(NbLigneUtilisée, 1) = Cell.Row
NbLigneUtilisée = NbLigneUtilisée + 1
Next
End With
End Sub

encore merci du temps que vous m'accorder
 
Re : Modification base de donnée via userform (formulaire)

je viens d'essayer mais ca ne semble pas être ca.

je vous promet que j'essais de bien faire est de comprendre.

déjà qu'est ce que vous diriez si nous supprimions tout les codes qui ne serve à rien pour le moment car je m'y perd un peu.

pourriez vous me montrer le bout de code qui créé la macro InitDéroulantArticle.

encore Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
543
Réponses
8
Affichages
507
Réponses
17
Affichages
800
Réponses
18
Affichages
477
Retour