Gestion base données excel pour commerciaux

PERSEVERANT

XLDnaute Junior
Bonsoir à toutes et tous,
je me suis lancé dans un projet, pour faciliter le travail de mes collaborateurs, qui dépasse mes capacités en informatiques. Je viens donc sur ce forum chercher l'aide de gens bien plus compétents que moi.

Mon sujet est le suivant, créer une base de données sous excel 2010, dont vous trouverez ci-joint le modèle, qui permette à des commerciaux de faire des devis et de les modifier au gré des fantaisies de leurs clients.

La base se crée dans un onglet BD alimenté en seconde ligne par les saisies faites dans l'onglet Saisie.
Un onglet Consultation permet de revoir et de modifier, si besoin en est, les données déjà renseignées.
Cet onglet consultation doit pouvoir afficher des données déjà existantes dans l'onglet BD. J'utilise pour celà la fonction index.

Et c'est la que les choses se corsent pour moi.

Je voudrais pouvoir accéder à un enregistrement précis dans BD pour alimenter toutes mes cellules de Consultation. Ma base étant alimentée tout au long de la journée, elle n'est donc pas triée. Je pensais pouvoir sélectionner cet enregistrement précis au travers de 3 critères, le Nom du client, la Date de départ et la Destination. Mais je suis incapable de mettre en place les formules qui me permettraient d'avoir 3 listes déroulantes en cascade pour filtrer mes enregistrements de BD. Le Nom des clients revient plusieurs fois, il me faut donc une liste déroulante sans doublon. Cette première sélection devrait me permettre de créer une seconde liste déroulante avec les Dates de départ correspondant uniquement au client sélectionné, et au cas ou il y aurait plusieurs devis avec le même client à la même date de finir la sélection par la Destination.

Une fois ces trois critères définis, je ne devrais plus avoir qu'un seul enregistrement correspondant à mes besoins, je pourrais alors récupérer le N° de l'enregistrement pour alimenter mes diverses cellules.

Suis-je déraisonnable en pensant que tout ceci est réalisable ? J'évite autant que faire se peux le VBA, mais si je dois y passer...

Par avance merci de vos remarques et suggestions, je patauge depuis deux semaines et n'ai pas su résoudre mon problème.

Cordialement
PERSEVERANT
 

Pièces jointes

  • test base de données tourisme.xlsm
    123.6 KB · Affichages: 116
  • test base de données tourisme.xlsm
    123.6 KB · Affichages: 62

Dranreb

XLDnaute Barbatruc
Bonsoir
Pourquoi évitez vous VBA ?
Il y a un UserForm pourtant.
Si vous prévoyez une ComboBox pour chacun des 3 critères, j'ai justement un outil qui peut les prendre en charge complètement et renvoyer à l'UserForm un numéro de ligne dans le tableau, donc un numéro d'enregistrement.
On peut en équiper votre classeur ou utiliser un complément Excel obtenu à partir de ce classeur.

*** Pièce jointe supprimée, remplacée au #39 ***
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
je me suis lancé dans un projet qui dépasse mes capacités en informatiques.

créer une base de données qui permette à des commerciaux de faire des devis et de les modifier au gré des fantaisies de leurs clients.

Un onglet Consultation permet de revoir et de modifier, si besoin en est, les données déjà renseignées.

Je voudrais pouvoir accéder à un enregistrement précis dans BD pour alimenter toutes mes cellules de Consultation.

Suis-je déraisonnable en pensant que tout ceci est réalisable ?
PERSEVERANT
Non ...;) c'est ... heu ... oui ... réalisable...

J'ai toujours été surpris et émerveillé des capacités et persévérance de certains utilisateurs...:cool:

Mais tu va y passer un temps fou à mettre ceci au point, corriger des anomalies et peut-être mettre en danger ton "bizness" par de trop nombreuses interventions d'évolutions, de réparations ou modifications.

Il y a des outils éprouvés et mieux adaptés, pour arriver plus facilement à tes souhaits...
Une mise à plat du contexte existant et des besoins te permettra de cerner l'ampleur de la tâche...
Utilises plutôt un logiciel comme Access avec un moteur et des tables de données relationnelles (SGBDR), controle d'intégrité, rollback, accès simultanés, Requêtes automatiques (QBE), langage de programmation et SQL.
Bien sûr pour tes stats ou tableaux de bords Excel pourra avoir accès aux données

Je suis un addict d'EXCEL, mais mon expérience dans le domaines des bases de données en utilisation professionnelle m'interdit de te conforter dans la voie Excel.
Désolé...
 

Dranreb

XLDnaute Barbatruc
Pour information, ce code dans un UserForm muni de 3 ComboBox, nommées CBxNomClient, CBxDateDépart et CBxDestinat, a assumé du premier coup leurs réactions correctes dans votre classeur une fois le projet CBxL ajouté aux références :
VB:
Option Explicit
Private WithEvents CL As CBxL.ComboBoxLiées

Private Sub UserForm_Initialize()
Set CL = CBxL.Création.ComboBoxLiées
CL.Plage Feuil3.Rows(2)
CL.Add Me.CBxNomClient, "G"
CL.Add Me.CBxDateDépart, "I"
CL.Add Me.CBxDestinat, "H"
CL.CouleurSympa
CL.Actualiser
End Sub
 

PERSEVERANT

XLDnaute Junior
Bonsoir
Pourquoi évitez vous VBA ?
Il y a un UserForm pourtant.
Si vous prévoyez une ComboBox pour chacun des 3 critères, j'ai justement un outil qui peut les prendre en charge complètement et renvoyer à l'UserForm un numéro de ligne dans le tableau, donc un numéro d'enregistrement.
On peut en équiper votre classeur ou utiliser un complément Excel obtenu à partir de ce classeur.


Bonjour Dranreb,
Pourquoi j'évite le VBA, mais tout simplement parce que je ne le maîtrise pas assez bien et qu'en conséquence j'y passe beaucoup trop de temps pour un résultat assez médiocre :(.
Ceci dit je ne demande qu'à m'améliorer, grâce à des bonnes volontés comme la votre, ce dont je vous remercie.
Bien sur que je veux bien améliorer l'équipement du classeur.
Cordialement
Persevérant
 

PERSEVERANT

XLDnaute Junior
Bonsour®
Non ...;) c'est ... heu ... oui ... réalisable...

J'ai toujours été surpris et émerveillé des capacités et persévérance de certains utilisateurs...:cool:

Mais tu va y passer un temps fou à mettre ceci au point, corriger des anomalies et peut-être mettre en danger ton "bizness" par de trop nombreuses interventions d'évolutions, de réparations ou modifications.

Il y a des outils éprouvés et mieux adaptés, pour arriver plus facilement à tes souhaits...
Une mise à plat du contexte existant et des besoins te permettra de cerner l'ampleur de la tâche...
Utilises plutôt un logiciel comme Access avec un moteur et des tables de données relationnelles (SGBDR), controle d'intégrité, rollback, accès simultanés, Requêtes automatiques (QBE), langage de programmation et SQL.
Bien sûr pour tes stats ou tableaux de bords Excel pourra avoir accès aux données

Je suis un addict d'EXCEL, mais mon expérience dans le domaines des bases de données en utilisation professionnelle m'interdit de te conforter dans la voie Excel.
Désolé...

Bonjour Modeste geedee,
Oui je sais bien qu'une vraie base de donnée c'est mieux sous Access, mais je n'ai pas Access à ma disposition, alors en attendant d'y passer, il faut bien avancer :rolleyes:
Cordialement
Persévérant, mais pas tétu
 

PERSEVERANT

XLDnaute Junior
Pour information, ce code dans un UserForm muni de 3 ComboBox, nommées CBxNomClient, CBxDateDépart et CBxDestinat, a assumé du premier coup leurs réactions correctes dans votre classeur une fois le projet CBxL ajouté aux références :
VB:
Option Explicit
Private WithEvents CL As CBxL.ComboBoxLiées

Private Sub UserForm_Initialize()
Set CL = CBxL.Création.ComboBoxLiées
CL.Plage Feuil3.Rows(2)
CL.Add Me.CBxNomClient, "G"
CL.Add Me.CBxDateDépart, "I"
CL.Add Me.CBxDestinat, "H"
CL.CouleurSympa
CL.Actualiser
End Sub

Rebonjour Dranreb,
l'une des raisons qui me fait me tenir un peu à distance du VBA c'est ce "jargon" qui vous semble si évident à tous et qui est si peu parlant pour moi.
Mais avec un peu plus de pratique je ne doute pas d'arriver à en saisir le sens.
Je vais essayer ce petit code joint et reviens donner des nouvelles.
Merci
Persévérant
 

Dranreb

XLDnaute Barbatruc
Bonjour.
N'hésitez pas à demandez le sens d'un mot qui vous est obscur.
Ça vaut certainement mieux que de s'y habituer sans jamais vraiment le comprendre.
Il y a comme ça des mots de jargon essentiels, comme projet, module, procédure, variable, global, local, expression, type, objet, méthode, propriété, qu'il faudrait posséder couramment dans son vocabulaire avant toute chose et non pas au fur et à mesure.
 

PERSEVERANT

XLDnaute Junior
Bonjour.
N'hésitez pas à demandez le sens d'un mot qui vous est obscur.
Ça vaut certainement mieux que de s'y habituer sans jamais vraiment le comprendre.
Il y a comme ça des mots de jargon essentiels, comme projet, module, procédure, variable, global, local, expression, type, objet, méthode, propriété, qu'il faudrait posséder couramment dans son vocabulaire avant toute chose et non pas au fur et à mesure.

Merci Dranreb
je note et si besoin je reviens vers vous, pour l'instant j'essaye de mettre la Userform avec ses comboBox dans ma feuille Excel et comme je fais ça entre deux interventions avec mes collaborateurs, je ne suis pas d'une productivité exceptionnelle.

Rien n'est insurmontable, j'ai l'abominable besoin de comprendre pour mémoriser, ça va venir.
Encore merci
Persévérant
 

PERSEVERANT

XLDnaute Junior
Pour afficher un UserForm, invoquez sa méthode Show.

Bonsoir Dranreb

quelques minutes de pause dans une activité un peu chargée, me revoilà avec ce qui vous semble si simple et évident.

Oui j'ai bien vérifié que le "Show" état "True".
Mais les questions sont:
"ou est-ce que c'est sensé apparaître ?"
A moins que ça ne soit
"comment lie t'on mes CBox avec le UserForm ou le Module ?"
"Dois-je utiliser les zones de listes déroulantes que j'ai crées dans la feuille Consultation, ou bien celles que je dois créer dans le UserForm ?"

Si je faisais tout en VBA peut être que je serais moins perdu, là j'ai déjà créé des feuilles et je complète avec du code et je suis loin, très loin d'avoir votre pratique. Ce qui vous semble simple, et l'est sans doute, vous fait sauter des étapes qui pour moi sont essentielles; d'ou mes questions (de néophite) ci dessus.

Merci de votre patience, et de votre aide.
Cordialement
Persévérant, mais pas hyper doué
 

Dranreb

XLDnaute Barbatruc
Vous devez parler de sa propriété ShowModal. Moi je vous parlais de sa méthode Show qu'il faut exécuter pour l'afficher, n'ayant pas trop compris ce que vous entendiez par 'mettre la Userform avec ses comboBox dans ma feuille Excel'.
Si vous utilisez un objet ComboBoxLiées, il décrète des évènements pour informer l'UserForm de ce qui se passe. Il suffit de sélectionner le nom de l'objet (CL en général) dans la liste de gauche qui surmonte la fenêtre de code pour faire venir déjà un modèle de procédure réagissant à son évènement Change, et de sélectionner dans celle de droite les noms des autres évènements que vous voulez traiter. Par ailleurs vous ne vous occupez pas du tout des listes pour les ComboBox dont il a la charge, il se débrouille tout seul à partir de ce qui existe dans la base de données.
 

PERSEVERANT

XLDnaute Junior
Vous devez parler de sa propriété ShowModal. Moi je vous parlais de sa méthode Show qu'il faut exécuter pour l'afficher, n'ayant pas trop compris ce que vous entendiez par 'mettre la Userform avec ses comboBox dans ma feuille Excel'.
Si vous utilisez un objet ComboBoxLiées, il décrète des évènements pour informer l'UserForm de ce qui se passe. Il suffit de sélectionner le nom de l'objet (CL en général) dans la liste de gauche qui surmonte la fenêtre de code pour faire venir déjà un modèle de procédure réagissant à son évènement Change, et de sélectionner dans celle de droite les noms des autres évènements que vous voulez traiter. Par ailleurs vous ne vous occupez pas du tout des listes pour les ComboBox dont il a la charge, il se débrouille tout seul à partir de ce qui existe dans la base de données.

Je vois que je ne suis pas très clair non plus, je vais essayer de faire mieux !
Je suis tellement au ras des pâquerettes que vous n'imaginez pas qu'on puisse être aussi basique.
Dans la feuille Consultation de mon fichier j'avais créé 3 zones de listes déroulantes pour afficher les noms des clients, la date de départ et la destination. J'ai ensuite créé ( plus honnêtement recopié) votre code dans un module je ne savais pas si je devais créer un nouvel UserForm et recréer les 3 ComboBox ou utiliser les 3 déjà existantes. J'ai donc créé un nouvel UserForm avec les 3 ComboBox. Mais je ne sais toujours pas si je dois utiliser ce que j'avais fait initialement, ni comment les faire fonctionner avec le module créé; ou si je devais utiliser le nouvel UserForm avec le nouveau module et comment mettre ces 3 ComboBox en lieu et place de mes zones de listes déroulantes dans la feuille Consultation .
Est-ce plus clair pour vous ?
Comment fais-je pour que ces ComboBox soient positionnées en E4 à E9 ( position peut être approximative je n'ai pas le fichier sous la main) pour avoir accès à elles dans ma feuille Consultation ?
Et ensuite comment fais-je pour que le VBA du module fasse fonctionner l'ensemble ?
Pour moi c'est aussi clair que d'admettre que la vitesse de la lumière est infinie et non dépassable et que pourtant une lumière allumée à l'arrière d'une fusée qui se déplace à la vitesse de la lumière peut atteindre l'avant de la fusée. Albert Einstein, la théorie de la relativité. Mais je n'ai pas le génie d'Albert.
Cordialement
Persévérant.
 

Discussions similaires

Réponses
6
Affichages
256