J espère que je vais reussir a vous expliquer ce que je voudrais faire^^
Dans un premier classeur j ai une feuille e devis et dans le deuxieme une bibli client.
Je voudrais quand je suis sur ma feuille de devisqu il y est un bouton qui quand je clique dessus il y est une fenetre qui s ouvre et où il s y trouverai nom,prenom,adresse,....... et que tout cela s'enregistre dans ma bibli automatiquement ainsi que sur ma feuille de devis
J'attend vos lumieres
Je vous remercie d'avance
Non c'est parfait! Tu as tout mis! L'UserForm, les onglets avec les informations nécessaire, c'est parfait!
-> dans l'UserForm, il ne te reste plus qu'à rajouter un ou deux boutons (cf. dessin ci-joint dans la boite à outils).
Il faut créer un bouton "Valider la saisie" et un bouton "Annuler la saisie" (ce second bouton est facultatif).
En résumé : tu clic sur le symbole que j'ai entouré.
Sur la ligne "caption" dans les propriétés de ton bouton, tu écris le texte que tu veux voir apparaître sur ton bouton, puis tu peux également changer la couleur, la police, ...
Pourquoi as-tu mis une zone "liste des clients"? Pour que l'utilisateur voit la liste des clients déjà existant, évitant ainsi de créer un client en doublons?
Petites astuces :
-> lorsque tu sélectionne ton UserForm, clic dans propriété sur "caption" et écris le titre de ton UserForm. Le texte que tu écriras sera sur la bandeau bleu de ton UserForm, donc visible par l'utilisateur! Tu peux par exemple écrire : "Saisie d'un nouveau client".
-> si mon hypothèse ci-dessus est juste : ta zone "LISTE CLIENTS" est une information! Alors que toutes les autres zones sont des zones à remplir?
Si oui, il est plus clair de choisir deux couleurs distinct! Une pour les zones où l'utilisateur ne doit rien faire, une autre couleur pour les zones de saisies.
Je te laisse voir ces points, pendant ce temps je bosse sur la macro de ton fichier.
Ca y est j'ai rajouté les 2 boutons
En ce qui concene la liste client c'est pour voir les clients existats et pour m'éviter s'ils existent de les réecrire maintenant pour affecter l' Useform a mon bouton je suis dans l'impasse
Pour ta liste : "Choix type clients", elle est écrit quelquepart sur ta feuille excel?
Sinon, peux-tu m'indiquer les différents types?
Avant d'affecter l'UserForm à ton bouton, il faut d'abord écrire le programme (la macro). Et pour ton cas, l'enregistreur de macro (très utile lorsqu'on débute et qu'on ne connait rien au VBA, ni à la programmation en général), ne sert malheureusement pas à grand chose! Il faut écrire entièrement la macro.
Donc comme tu ne sais pas faire, j'ai opté pour la solution : je t'écris la macro avec le maximum d'explication pour que tu puisse comprendre, et ensuite, tu pourras tout décortiquer, essayer, et poser des questions si mes explications ne sont pas assez fouillé!
Sinon ce serait vraiment très long! Ben oui... avant de pouvoir écrire une macro, il faut d'abord apprendre quelques bases (or ton exercice et un peu complexe pour apprendre le VBA en douceur)
En ce qui concerne Choix type client nom il n'est pas inscrit sur mafeuille celui ci concerne "SARL" "particulier""EURL"
Tuas obté pour la bonne solutiion en me décorticant tout je préfère comprendre et savoir faire plutôt que de prendre tout fait car sur le forum il existe déjà des modèles de Useform dont je me suis inspiré mais je compte en créer d'autres
En tout cas je te remercie beaucoup de prendre du ttemps pur m'expliquer tout ça
J'ai été un peu long, car une fois ton fichier fini, j'ai sauvegardé mon travail pour te l'envoyer, mais mon PC a buggé!
Alors comme tu ne connais pas grand chose au VBA, j'avais mis tout pleins d'explication!
Ayant dû tout refaire, j'ai été un peu plus concis! Ainsi, cela m'a évité peut-être, de t'expliquer des choses que tu connaissais déjà? Pour les autres points, si tu as un soucis, n'hésite pas, il y aura toujours quelqu'un pour te renseigner!
Pour information : dans le fichier tu as une macro dans "Module1", et 3 autres macros dans ton UserForm.
La macro "SaisirNouveauClient" présente dans "Module1" est celle qui est lié à ton bouton que tu as mis sur l'onglet "devis".
Les autres macros s'exécuteront automatiquement (plus de détail dans le code).
Pour voir les macros misent dans ton UserForm, il faut faire :
-> "ALT" + "F11", pour aller sur la fenêtre : "Microsoft Visual Basic..."
-> sélectionner ton UserForm (un seul clic gauche)
-> puis pour voir les macro, par exemple double cliquer sur le bouton "Validez la saisie".
Ayant passé énormément de temps sur ton fichier, j'ai eu la flemme de me relire pour corriger les fautes d'orthographes! Espérant que cela soit quand même compréhensible!
Evidement, les macros proposés sont basic! Elles font purement et simplement ce que tu nous a demandé!
Après on peut rajouter par exemple :
-> vérifier que l'utilisateur a bien renseigné TOUTES les zones demandés
-> vérifier la cohérence des données saisies. Par exemple pour les zones téléphones, vérifier qu'il a bien mis QUE des chiffres et qu'il ne manque aucun numéro!
-> ...
Après avoir vu le fichier que je t'ai envoyé, et surtout les 4 macros! Tu comprendras qu'avant d'affecter l'UserForm à ton bouton, il restait encore un peu de travail à faire
Mais c'est vrai...
Pour que ton UserForm s'ouvre, il n'y a besoin que de la macro suivante :
Code:
Sub SaisirNouveauClient()
Application.ScreenUpdating = False
CLIENTS.Show
Application.ScreenUpdating = True
End Sub
Et encore, si l'on veut privilégier le nombre de ligne à la qualité, on peut écrire juste :
Code:
Sub SaisirNouveauClient()
CLIENTS.Show
End Sub
Mais voilà... une fois ton UserForm ouvert, Excel c'est pas ce qu'il faut faire!
L'utilisateur pourra toujours remplir les cases, cliquer sur les boutons, excel ne ferra rien! (et évidement, la liste des clients déjà existant sera VIDE!!! Ainsi que la liste déroulante : type de clients.
Espérant que tout cela ne te fasse pas peur et que tu ferra comme prévu : créer tout plein d'autres UserForm!
Si cela peut te rassurer, dans le code que je t'ai donné, efface TOUS les commentaires que je t'ai mis, tu verras, le code est déjà tout de suite BEAUCOUP plus court
Merciiii beaucoup Excelent!!!!!!!
Je viens de le liree vais maintenant essayer de l'appliquer
Tu as été vraiment très sympa d'occuper une partie de ton dimanche pour t'occuper d'une débutante comme moi
Lorsque tu regarde la macro écrite ci-dessus Sub SaisirNouveauClient(), tu vois sur la partie de gauche (la partie du haut), la liste de tes feuilles, en dessous la liste de tes UserForm, et en dessous la liste de tes modules.
Clique sur ton UserForm, il apparait dans la partie de droite. Tu double clic sur ton UserForm, n'importe où! Sur l'un des boutons (conseillé pour ce fichier), sur l'une de tes TextBox, sur l'une de ... bref n'importe où sur l'UserForm
Et là, tu verras les macros qui sont DANS ton UserForm.
leti66 à dit:
Et quand j appui sur le boutonil y a bien l useform qui apparait mais cela ne va pas dans la bibli client
En effet, la macro rempli ta bibliothèque client : sur l'onglet "client", colonne AR à ... mais n'y va pas!
Mais si tu veux qu'une fois l'UserForm rempli et validé, que l'utilisateur soit aiguillé sur ta bibli client, il te suffit d'écrire la ligne en bleu dans ta macro CommandButtonValiderSaisie (cf. ci-dessous, j'ai juste enlevé les commentaires et rajouter la ligne manquante en bleu) :
Code:
Private Sub CommandButtonValiderSaisie_Click()
[COLOR="Green"]' Macro enregistrée et commentée par Excel-lent
[/COLOR]
Dim NouvelleLigne As Long
Dim Colonne As Byte
Dim NumTextBox As Byte
With Sheets("clients")
Colonne = 44
NouvelleLigne = .Range("AS3").End(xlDown).Row + 1
For NumTextBox = 1 To 9
.Cells(NouvelleLigne, Colonne) = Controls("TextBox" & NumTextBox).Value
Colonne = Colonne + 1
Next NumTextBox
.Cells(NouvelleLigne, 53) = ComboBoxChoixTypeClients.Value
End With
[COLOR="Blue"][I] Sheets("clients).Range("AR3").select
[/I][/COLOR] Unload CLIENTS
End Sub
Cela me fait penser que tu voulais que l'UserForm remplisse ta biblio Client (déjà fait), mais également ton devis?
Je te laisse essayer pour voir si tu as assimilé toutes les informations ci-dessus? Puis si tu as un souci, tu envoie ton fichier sur le forum ainsi que ta question?
Coucou,
Je suis en train d'essayer de comprendre tout ça, j'ai trouvé tes macro lol
J'ai plus aucun classeur en onglet sur mon modèle lol
Quand j'aurais fini je t'envoi le fichier pour voir s'il y a des erreurs ou si j'ai été une bonne éléve
Merci beaucoup à toi !!!!