Résolu Userform / Gestion clients

jsebt

XLDnaute Nouveau
Bonjour a tous et merci par avance pour votre aide.

Travaillant pour une association, j'essaye de monter une base de données pour la gestion de nos activités.
J'essaye de faire un fichier client qui pourrait être rempli ou modifier au travers d'un formulaire.
Dans ce formulaire, je souhaiterais pouvoir faire une recherche client et que les différents champs du formulaire se remplissent automatiquement si il trouve une correspondance avec modification possible, ou de créer un nouveau client si le client n'existe pas. (et par la suite, ajouter dans le formulaire l'historique des discussions).
Pour le moment, j'ai réussi à faire apparaitre ma liste de noms. Mais je n'arrive pas à faire pré remplir le formulaire...
Si une bonne âme avait le temps et la gentillesse de jeter un œil, cela m'économiserait énormément de temps. Ce n'est pas ma spécialité :)
Merci par avance.
Bonne fin de journée

Sebastien
 

Fichiers joints

jsebt

XLDnaute Nouveau
Je continue d'avancer… J'essaye de reproduire un doc que j'ai trouvé. Mais je dois avoir des problèmes d'adaptation dans le code:

Public Sub cboClients_Change()
Dim lig
lig = Sheets("Clients").Range("c2:c" & Sheets("Clients").Range("c" & Rows.Count).End(xlUp).Row) _
.Find(cboClients.Text).Row
For ctl = 2 To 20
Me.Controls("textbox" & ctl) = Sheets("Clients").Cells(lig, ctl + 1)
Next ctl

End Sub

Pas d'idée… A priori le bug est au niveau Me.Controls...
Merci par avance pour votre aide.

Seb
 

bbb38

XLDnaute Accro
Bonjour Sébastien, le forum,
Avis strictement personnel : Tes formulaires comportant 3 ComboBox, je créerai 3 onglets pour inscrire les données relatives à ces ComboBox. J’utiliserai un formulaire pour Gérer les clients (création, modification, visualisation, édition), et le second pour l’historique.
Sur ta feuille « histocontacts », avec quelles données, tu remplis la colonne A ?
Dans un premier temps, et si tu le souhaites, je peux rectifier le premier fichier, dans l’hypothèse où tu m’indiques deux ou trois données pour la création des onglets relatifs aux ComboBox.
Cordialement,
Bernard
 

ChTi160

XLDnaute Barbatruc
Bonjour Sébastien
Bonjour le Fil (Bernard), le Forum

Autres question :
Tu indiques : Recherche Client et tu cherches dans la colonne "Typegroupe"(C) ! Pourquoi ?

Peut il dans les Colonnes :
Nom du GroupeRefTypegroupeResponsablegroupe
y avoir des Doublons ?
Un fichier exemple (perfectible , vu ce que l'on a ! lol)
Merci par avance
jean marie
 

Fichiers joints

Dernière édition:

jsebt

XLDnaute Nouveau
Bonjour et merci pour votre aide..
Je vais essayer d'être plus clair dans ce que je voudrais faire.

L'association gère des aires d'accueils dans la région. Mon rôle est d'organiser les mouvements et de dispatcher les différents groupes là ou c'est possible en faisant au mieux. Les groupes reviennent d'année en année et nous les nommons souvent par le nom du chef de groupe. (Imaginez Schmitt en Alsace, donc oui, doublons possibles)

Mon objectif:
- une base de données "clients" (contacts, mail, tel, …)pour recenser les différents groupes et essayer de prévoir au mieux leurs arrivées
- une base de données "suivi contact" pour avoir l'historique des nos échanges, de comment ca c est passé, des dates de passages, des lieux de passage,nombre, spécificités, difficultés, ...)

A Plus long terme:
- (plus compliqué) Auto remplir un chronogramme par aire avec les bases de données créer ci dessus.
- Génération d'un rapport d'occupation/disponibilité des différentes aires par semaine/mois/année

Le tableur que j'ai envoyé est ma 1ère mouture et je ne suis pas convaincu que le formulaire est la solution la plus adaptée. (mais il contient a priori tous les champs dont j'ai besoin, d'où le histocontact qui m'a juste servi à identifier ce dont j'avais besoin pour le moment. Je suis loin d'en être là:))

Mon idée de départ était d'utiliser un formulaire personnalisé, nous sommes plusieurs à devoir utiliser l'outil et je voulais que cela soit le plus simple possible. J'ai utilisé des bouts de codes utilisés à droite et à gauche et j'ai essayé de les adapter pour ce que je voulais.
J'espérais arriver a faire une recherche par nom du groupe et avoir en proposition les doublons si il y en a. Une fois sélectionné, il nous ouvre le formulaire client correspondant ou nous aurions accès aux infos du clients et à l'historique des contacts. (Et du coup je me rend compte qu'il me manque ajouter un contacts…)(Actuellement je bloque sur le formimg. Il me propose mes clients, mais ne me remplit pas les autres champs)

Enfin voilà j'espère que le principe est plus clair. Je suis loin d'être un expert, mais j'apprends tous les jours.
Merci encore une fois d'avoir pris le temps de regarder. Et par avance pour le temps que j'espère vous prendrez encore :).
 

jsebt

XLDnaute Nouveau
Bonjour Sébastien
Bonjour le Fil (Bernard), le Forum

Autres question :
Tu indiques : Recherche Client et tu cherches dans la colonne "Typegroupe"(C) ! Pourquoi ?

Peut il dans les Colonnes :
Nom du GroupeRefTypegroupeResponsablegroupe
y avoir des Doublons ?
Un fichier exemple (perfectible , vu ce que l'on a ! lol)
Merci par avance
jean marie
Merci pour ton fichier, je regarde de suite.
Le fichier que j'ai envoyé n'était sans doute pas très propre, j'ai essayé beaucoup de choses et j'ai du faire des bêtises…
Je seai dispo demain, je me repenche sur tout çà demain et j'essaye de faire quelque chose de plus clair.
Mais vraiment merci de votre aide.
 

jsebt

XLDnaute Nouveau
Yes merci Chti160, c'est exactement ce qui ne marchait pas :):). Merci beaucoup. Je vais voir demain ce que tu as fait pour comprendre. Merci beaucoup.
 

jsebt

XLDnaute Nouveau
Bonjour Jean Marie, je prends ta proposition au vol... Je galère un peu.
Toujours sur le même projet…. Plusieurs questions:
- Mon bouton ajouter un client: j'aimerai que la référence client s'ajoute et s'incrémente automatiquement et s'affiche directement à l'ouverture du formulaire de saisie. (J'ai essayé sans succès: formulaire nouveauclient)
- Dans le code que tu m'a donné l'autre fois, j'ai essayé d'intégrer l'enregistrement des modifications sur un client existant. Sans succès

- Dans la partie mouvement:
- Je souhaiterais que lorsqu'on ajoute un mouvement, il soit automatiquement attaché au client sélectionné au dessus. (via la ref client)
- Dans la partie historique, je souhaiterais faire apparaitre un filtre montrant tous les anciens mouvements du client sélectionné au début. (filtre sur les ref clients.

Voilà je crois que j'ai fait le tour. Excuse moi de te demander encore ton aide et merci par avance.
Bonne fin de soirée

Sébastien
 

Fichiers joints

ChTi160

XLDnaute Barbatruc
Bonsoir jsebt
Bonsoir le Fil ,le Forum
un fichier de ce que j'ai compris pour l’incrémentation .
il faudrait que tu expliques ce que tu veux par rapport a ce que tu as des exemples simples.
je ne comprends pas bien entre N° Client , Nom du Groupe ,la Référence Groupe etc etc
Que doit Etre la Référence Client ?
Merci par avance
Dans l'attente
jean marie
 

Fichiers joints

jsebt

XLDnaute Nouveau
Bonsoir Jean Marie,
Tu es magique :) J'ai passé des heures à essayer de faire la même chose. Je crois que je me suis lancé dans trop compliqué pour moi… Mais c'est comme ca qu'on apprend aussi :)
Je me suis emmêlé les pinceaux je pense. Et mes explications pas claires non plus du coup.

En fait j'essaye d'avoir:
- une référence client unique, pour la feuille client. (avec possibilité de modifier le client)
- une référence mouvement unique pour la feuille histocontact. Que le champ référence client correspondant a ce mouvement soit présent dans la feuille histocontact afin de pouvoir faire le lien entre les clients et les mouvements. (Donc qu'il soit pré rempli lorsque l'on est sur la fiche d'un client avec la référence de ce client)
Dans la partie que j'ai nommé historique, j'aimerais faire apparaitre l'historique des mouvements de la fiche client sélectionné au début du formulaire.
Et que les champs de la partie mouvements soient remplis par le mouvement sélectionné dans historique pour pouvoir le modifier.

Voilà, j'espère que c'est plus clair. Demain au boulot. Je vais me repencher la dessus mercredi.
Merci beaucoup pour ton aide. Tu fais plus que moi, je m'en rend compte et ca me gêne. Vraiment merci de prendre le temps.
Bonne fin de soirée.

Sébastien
 

ChTi160

XLDnaute Barbatruc
Bonjour Sébastien
Bonjour le Fil , le Forum
si toi tu t'emmêles les Pinceaux , imagine ou nous en sommes Lol
Ne peux tu ? pour répondre à ma demande , mettre un exemple quelques Lignes pour imager tout ce que tu veux !
en rapport avec " la référence client unique " ," une référence mouvement unique "
Merci par avance
jean marie
 

jsebt

XLDnaute Nouveau
Bonjour Jean Marie,

Ce que j'essaye de faire:
Création d'une base de données clients avec gestion via formulaire. (Le dernier formulaire que je t'ai envoyé) à l'air bien.

1) Recherche client,
2) Sélection du client,
3) Affichage des infos de la fiche client, et de l'historique des mouvements de ce client.
4) Possibilité de modifier le client
5) Possibilité de modifier un mouvement existant
6) Ajouter un nouveau cllient
7) Ajouter un nouveau mouvement (champ ref client prérempli pour que la saisie du mouvement soit directement attachée à la fiche client ouverte)

Les champs dont j'ai vraiment besoin sont:
1031909

Est ce que c'est plus clair pour toi? N'hésite pas si tu veux plus de précisions.
Merci encore une fois et bonne journée.

Sébastien
 

ChTi160

XLDnaute Barbatruc
Bonjour Sébastien
Bonjour le Fil ,le Forum
Merci de ces précisions
mais Lol
Peux tu me dire comment tu établies , voies , la forme de la Référence ? qu'elle soit Client ou Contact
des trucs du Genre :
"RefCL-0001" pour Client
et
"RefCO-00001" pour Contact
merci
jean marie
 

jsebt

XLDnaute Nouveau
Ahlalalala… Je t'ai répondu du bureau, pas bien de faire 2 choses en même temps… Du coup en te/me relisant, je me rends compte de mon hors sujet et me sens bête :). C'est çà de faire trop de choses en même temps:)

Donc pour les références, ce n'est pas important. Uniquement fonctionnel pour mon fichier excel. Du coup ta proposition semble parfaite.
Et pour le fichiers avec quelques lignes, il est joint. (j'ai repris ton dernier fichier)
Merci encore pour ton aide malgré mes explications hors sujet :) Mais au moins tu as les détails de mon plan :)
 

Fichiers joints

ChTi160

XLDnaute Barbatruc
Bonsoir Sébastien
Bonsoir le Fil ,le Forum
Autres questions :
à quoi correspond le Libellé
RefContact tu dis : Référence de ce Contact ????
Dans la feuille "histocontacts".
Y a t'il un rapport entre RefContact et le ResponsableduGroupe ?
Pas évident ! Lol
Je préfère comprendre avant de me Lancer.
Merci
jean marie
 

jsebt

XLDnaute Nouveau
Bonsoir,

Non, il n'y a aucun lien entre le responsable du groupe et la refcontact. (Dans le derniers excel que j'ai mis, tu as quelques lignes exemples remplies comme tu m'avais demandé).
Cette référence était nécessaire pour moi afin de pouvoir avoir plusieurs contacts avec un clients et de "lier" la base histocontact a la base clients.
N hésite pas si tu as d'autres questions. Merci

Sébastien
 

jsebt

XLDnaute Nouveau
Bonjour à tous,

J'avance toujours sur mon projet... Lentement, mais j'avance :)
Je suis toujours sur l'ajout de nouveaux clients. Mon code fonctionne, mais il m'insère mes données dans ma feuille "accueil" alors que je voudrais que cela soit dans la feuille "Clients". (Merci Chti160)
J'ai essayé plusieurs choses sans succès... Si quelqu'un à une idée. Ca fonctionne pour le premier enregistrement si je me mets en vbmodeless et que je change de feuille manuellement avant de valider??, mais si j'essay d'en ajouter un 2ème, j'obtiens une erreur de type)
Merci par avance.


VB:
Private Sub CommandButton2_Click()
'Correspond au programme du bouton Valider
Dim L As Integer

If MsgBox("Etes-vous certain de vouloir INSERER ce nouveau contact ?", vbYesNo, "Demande de confirmation") = vbYes Then
L = Sheets("Clients").Range("B65536").End(xlUp).Row + 1 'Permet de se positionner sur la dernière ligne de tableau NON VIDE

Range("A" & L).Value = ComboBoxRef 'colonne vide qui me servira de pointage ou de numérotation automatique.
Range("B" & L).Value = Lbl_Ref_Client
Range("C" & L).Value = TextBox1 'Nom du groupe
Range("D" & L).Value = ComboBoxTypeGr 'Type Groupe
Range("E" & L).Value = TextBox4 'Responsable
Range("F" & L).Value = TextBox2 'Nom
Range("G" & L).Value = TextBox3 'Prénom
Range("H" & L).Value = TextBox5 'Surnom
Range("I" & L).Value = TextBox6 'Tel
Range("J" & L).Value = TextBox7 'Mail

MsgBox ("Client inséré dans fichier") 'Vous informe que le présent contact est insérer dans votre tableau Excel.

End If
Unload Me 'Ferme le formulaire
formimg.Show vbModeless 'Ouvre le formulaire
End Sub
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Bonjour Sebastien
Bonjour le Fil ,le Forum
Ce code n'est pas de moi!
Peut être une explication!
Quand tu mets :
VB:
L = Sheets("Clients").Range("B65536").End(xlUp).Row + 1
Tu as bien l'indication de la feuille Cible ( Sheets("Clients")) pour définir la dernière Ligne Vide de cette feuille Cible
mais lorsque tu mets :
VB:
Range("A" & L).Value = ComboBoxRef
Etc etc
Tu n'as pas d'indication de référence à la feuille Cible , donc ça Colle les données dans la Feuille Active.
il faudrait donc un truc du Genre
VB:
With  Sheets("Clients")
L =.Range("B65536").End(xlUp).Row + 1 'Permet de se positionner sur la dernière ligne de tableau NON VIDE
.Range("A" & L).Value = Me.ComboBoxRef 'colonne vide qui me servira de pointage ou de numérotation automatique.
.Range("B" & L).Value = Me.Lbl_Ref_Client
Etc etc
Pas de fichier , pas évident non testé !
jean marie
 

jsebt

XLDnaute Nouveau
Bonjour Jean Marie, et le reste du forum

Non ce code est bien de moi (sûrement pour çà qu'il ne marche pas d'ailleurs :)), enfin le produit de plusieurs choses que j'ai trouvé sur les forums, et que j'essaye d'adapter. Mais c'est bien grâce à toi que j'ai réussi à avancer, d'ou le merci :)

Et encore une fois tu me débloques. Merci encore.
Je fais l'apprenti sorcier en ce moment, mais j'apprends tellement de choses dont j'aurai tellement eu besoin avant.
Mais je m'y suis mal pris, j'ai fait des bouts de codes par fonction que je voulais, tout remettre ensemble c'est compliqué.
Je vais repartir de 0 pour avoir quelque chose de propre.
Merci encore une fois pour ton aide et bonne fin de journée.

Sébastien
 

Discussions similaires


Haut Bas