Userform et impression
Hello les amis
J'ai créé un fichier dans lequel je rempli un tableau avec un userform. Tout fonctionne très bien (je me suis très largement inspiré d'un excel tuto sur youtube)
Je souhaite maintenant en plus que:
- Ma fiche client se remplisse en page2 avec les données de l'userform (je sais remplir en tableau, mais pas des cellules précises)
- Apres validation de mon userform, soit lancé directement une impression de ma fiche client
Quelqu'un pourrait m'apporter le début d'une réponse ?
Bonjour,
Pour faire ça, il manque quelque chose de très important à ta base de donnée : Une première colonne "iD"
En effet cette première colonne numérique comporterait une clef d'index unique -sans doublon- et à la sortie de ton UserForm TORAIPUKA reporter cet index sur ta fiche client et une batterie de RECHERCHEV te ramènerait les renseignements voulus deuis ta base de donnée...
Regarde le fichier joint : Quand tu cliques sur "Saisie" pour aller sur le UserForm, si tu fais une saisie ou si tu fais seulement une recherche dans le combo à droite de manière à afficher un client puis si tu cliques sur la petite imprimante juste à coté du combo, ça t'affiche la fiche du client :
Le UserForm se borne à transmettre le N° Id du client choisi (en première colonne de la BD) et les RECHERCHEV ramènent toutes infos à partir de la BD.
Le UserForm lui ne sert qu'à nourrir la BD...
A+
Merci pour ta reponse. Je vais prendre pas à pas.
Tout d'abord, pour mettre le ID, il faut copier ce code ?
Private Sub WriteRecord(ByVal RecordNumber As Long)
' Ecriture de l'enregistrement
Me.cboRech.ListIndex = -1
RecordNumber = RecordNumber + 1
With rng
With .Cells(RecordNumber, 1)
If Len(.Value) = 0 Then ' ID
.Value = Application.WorksheetFunction.Max(rng.Columns(1)) + 1
End If
.NumberFormat = "0000" ' FormatSi c''est le cas, mais cela ne fonctionne pas ...
Une fois ce problème résolu, je tenterais le remplissage de la fiche client...
Bonjour,
Il faut déjà insérer une colonne avant la colonne A...
et redimensionner ton tableau1 pour intégrer une iD dans les en-tête.
Je vois que ton tableau est déclaré jusqu'à la ligne 105... Pourquoi ?
- Parce que tu as effacé les enregistrements existants...
- Ou parce que tu t'es dis une centaine de ligne se serait bien pour commencer ?
Bonjour,
Il faut déjà insérer une colonne avant la colonne A...
et redimensionner ton tableau1 pour intégrer une iD dans les en-tête.
Je vois que ton tableau est déclaré jusqu'à la ligne 105... Pourquoi ?
A+
- Parce que tu as effacé les enregistrements existants...
- Ou parce que tu t'es dis une centaine de ligne se serait bien pour commencer ?
J'ai mis ma colonne A (et du coup décaler mon remplissage)
J'ai redimensionné mon tableau pour inserer la colonne supplémentairement
Le tableau va jusqu'en 105, parce qu'en colonne P, j'ai un choix déroulant qui sera rempli une fois le RdV effectué avec le client, et comme tu le dis si bien, une centaine de ligne est bien pour commencer
Je viens de regarder le remplissage de ta fiche client ... TOP, je viens de découvrir la RECHERCHEV sur une bdd !!! Je croyais qu'on ne pouvais le faire que sur 2 colonnes
Moi je viens de découvrir ton Userform : C'est très minimaliste et loin d'en faire un outil suffisant.
Un bon UserForm doit être capable d'ajouter mais aussi de vérifier que les données saisies ne sont pas fantaisiste.
De rechercher un ligne et de la modifier le cas échéant... Voire même de la supprimer sans inconvénient.
Si tu regardes un peu dans le code du UserFom que je t'ai joins, tu verras que cela revêt une certaine complexité...
Il faut s'assurer qu'une date est plausible, dans un format compréhensible...
De plus, je vois que tu prévois décrire un roman...
Bien qu'une cellule puisse comporter de nombreuses lignes (plus d'une centaine) Cela ne va pas sans inconvénient.
Je ne suis pas certain que ce sera bien gérable. Je ne me suis jamais aventuré dans ce genre de galère.
En fait l'imagine que pour tes textes longs il doit être préférable d'utiliser Word et un lien hypertexte pour ces 2 colonnes.
Je ne suis pas certain que tu sois en mesure de gérer cela si tu débutes avec VBA.
En tout cas ça risque d'être un peu compliqué et nécessiter un gros travail de mise au point.
J'ai besoin d'au moins une ligne de données complète et vraisemblable afin de bien visualiser le besoin, les formats, les listes de choix...
Enfin il y a beaucoup de zones d'ombre dans ta fiche client : Tu as potentiellement deux N° de téléphone, 2 adresses mail mais un seul champ pour les deux dans la BD... enfin la BD ne comporte pas la moitié des champs nécessaire à remplir le formulaire : Et le reste tu compte le remplir à la main ?
J'ai bien peur que ça ne va pas le faire !
A+
Désolé pour ma réponse tardive.
Pour répondre à tes différentes remarques. Tout d'abord en ce qui concerne la simplicité de mon userform, je fais avec ce que je connais. Je comptais ajouter ces éléments plus tard parce que je ne sais pas encore le faire pour l'instant.
Pour ce qui est du potentiel roman que je compterais écrire, il faut que je revois la cellule et me concentrer sur l'essentiel, en 1 phrase.
Pour la fiche client, je n'ai bien sur pas besoin de tous les éléments, puisque certains seront remplis à la main lors de mon 1er rdv. Maintenant pour ce qui est de la fiche client, grâce à ton fichier, je devrait pouvoir la remplir moi même.
Ce dont j'ai besoin, c'est de pouvoir afficher mon ID unique dans la colonne A, et de "contraindre" mes cellules à être dans le bon format (date, monétaire etc...)
Voila le fichier "rempli" avec un prospect, et la fiche client rempli avec tous les elements dont j'ai besoin.
Je n'arrive pas
- à automatiser le ID du client
- a contraindre les formules (dates, monetaire etc...)
Merci
Désolé je ne souhaite pas prendre en charge ton projet : Je pourrais te dire que je suis débordé, que je part en vacances...
Il n'en est rien et ne le prend pas mal mais je préfère te dire la vérité : Je pense que tu es très loin de pouvoir mener à bien ce projet.
De 2 choses l'une : ou tu es en stage dans l'entreprise et le mieux est de dire que ce qu'on te demande te dépasse complètement.
Ou tu es un professionnel "commercial" et il me semble préférable que tu consacres ton temps au contact client.
Quitte à continuer d'utiliser Excel à ta manière habituelle.
Tu pourras toujours utiliser ta fiche client en entrant manuellement le N° ID dans ta fiche.
Si tu veux plus de détails... Tu as généré un tableau structuré Excel qui possède de nombreux avantages et quelques inconvénients :
Cela à généré une ligne (la ligne 2) que tu as mis sous le tapis en la masquant.
Avec Excel ça ne marche pas comme ça et encore moins en VBA.
Structuré ou pas un tableau Excel ne peut comporter de colonnes portant le même intitulé Date, Date, Date... Remarque, Rem...
C'est la raison pour laquelle la création du tableau structuré à généré la ligne 2. Il a considéré que ton tableau ne comportait pas d'en tête valide et t'en a proposé un. Mais tu ne peux pas le glisser sous le tapis et faire comme si...
Ce n'est qu'une toute petite partie de ce qu'exige l'utilisation de VBA. Dans ces conditions, si tu habitais à coté de chez moi je te proposerai un stage intensif de mise à niveau, mais là... Je préfère jeter l'éponge plutôt que de m'embarquer sur une galère.
A+
Ton message a d'une part le mérite d'être clair, et d'autre part est extrêmement frustrant.
Je ne suis ni stagiaire, ni commercial, mais gérant d'une petite structure et souhaite mettre à disposition de mes salariés une solution qui nous permettra de mieux gérer nos prospects, et ensuite d'analyser tout cela.
Je travaille sur Excel depuis plusieurs années et ai tout appris tout seul, ou à l'aide de tuto trouvés sur le net. On fait ce qu'on peut avec ce qu'on a ...
Je vais donc me satisfaire de mon tableau tel qu'il est, puisqu'il répond à 90% de mes attentes, mais qui, il est vrai, aux yeux de puristes tels que toi, peut sembler être ultra light
Je comprend bien que c'est frustrant et tu n'imagines pas le nombre de gens qui prennent ça mal... mais je préfère dire les choses.
Bon je t'ai quand même fais un tout petit truc. juste pour incrémenter automatiquement le N° iD et le N° de ligne... Mébon, ça ne change rien à mon opinion : il va être difficile d'améliorer significativement l'existant . Il y a quelques de contrôles qui pourraient quand même être améliorés. Je n'ai pas géré au-delà de la colonne L ou ç'était un peu nébuleux pour moi...
J'ai aussi modifié quelques bricoles, les formules de la Fiche et le report automatique de la dernière saisie dans cette fiche.
Mais là ou ça pêche surtout c'est que ce UserForm ne sera jamais capable d'effectuer une recherche ou une modification par exemple...
Désolé.
A+
Merci pour ta reponse, et malgré tout ton exemple. Il repond à ce que je cherche, donc te remercie pour ton job. Une fois que je serait plus au point, je reviendrais vers toi
Bonjour killerjo et le forum
Ma petite et modeste contribution.
je n'ai pas automatisé l'impression de la fiche. Un menu déroulant en L13 pour choisir le N° de client.
Cdt
Henri
Excellent. Petit module sympa, par contre ne pourrait il pas se fermer automatiquement une fois validé?
Je suis entrain de travailler sur la mise en forme ces cellules, et ton truc me plait bien. Je vais essayer de le remettre dans la derniere version (que tu trouve en PJ). La mise en forme n'est pas finie, mais l'idée est là
Bonjour killerjo et le forum,
Voici une nouvelle version avec la feuille "Accueil".
L'enregistrement d'un nouveau prospect enchaine sur l'impression de celui-ci (optionnel).
Le champ VILLE a été modifié par CP-VILLE
Le formulaire Relance se ferme après VALIDATION.
Cdt
Henri
Bonjour killerjo et le forum,
Voici la version test3 qui reprend ton fichier.
Cdt
Henri
Bravo !!!! C'est exactement ce que je voulais !!!
Petite remarque, quand je veux relancer un prospect, est il possible de faire une recherche en tapant le nom du prospect plutôt qu'en choisissant son nom ? (ou encore mieux, les 2)
Encore merci pour ton job. Je ne maîtrise pas encore assez la VBA, mais ce qui est "déroutant", c'est le nombre de chemins différents pour arriver à la même destination
Merci pour ton Bravo,
Désolé mais je pars demain matin en vacances
Toutefois je ne comprends pas ta remarque:
Petite remarque, quand je veux relancer un prospect, est il possible de faire une recherche en tapant le nom du prospect plutôt qu'en choisissant son nom ? (ou encore mieux, les 2)
La recherche se fait par le N° de la colonne A.
Voici une version 4 améliorée, qui ne tient pas compte de ta remarque, mais avec des contrôles sur la saisie des dates.
On revoit ça dans une quinzaine de jours, à moins que quelqu'un d'autre te donne la solution.
Cdt
Henri
Hello, je suis rentré de congés me concernant :-/
J'ai regardé ton fichier, et je l'ai un poil modifié à ma sauce (j'ai rajouté quelques boutons). Bon, en fait j'ai pris l'ancien, je me suis planté dans les fichiers ...
La remarque que tu n'a pas compris (parce que je l'ai sans doute mal exprimée) est la suivante:
Lorsque je veux relancer un prospect, je connais forcement son nom, mais pas forcement son numéro ID. Du coup, dans le Userform, je voudrais qu'il y ai un menu déroulant avec le nom des client et non pas le numéro ID. J'ai bien essayé de chercher avec le Listindex, mais ... ma connaissance est limitée.
Apres comment je peux modifier l'impression dela fiche client ? Elle doit etre imprimée en A3 recto verso et en noir et blanc.
bonjour,
Je t'ai bricolé un peu l'ensemble dans l'attente du retour de AFEH, mébon pour moi, ça reste un bricolage...
L'impression c'est du domaine de la mise en page : Pas besoin de macro pour ça. Je te l'ai mis en 13... Pour le reste, tu tâtonneras : J'ai pas trop envie de m'amuser avec les multiples options de mise en page...
A+