BDD client et double liste

Bonjour à tous,

Première contribution pour moi sur ce forum

Depuis peu, dans ma nouvelle entreprise, je m'occupe de refaire les fichiers de chiffrage et devis pour les 4 technologies que nous employons : l'UGV, le moulage sous vide, la découpe jet d'eau et l'impression 3D. Qui dit 4 technologies, dit 4 fichiers de chiffrage et devis différents (tous sur Excel).

La subtilité est dans le fait que nous voulons utiliser une base de données avec nos clients qui est commune aux 4 technos. Pour la mise en forme des devis et pour gagner du temps, nous voulons avoir accès à une liste déroulante avec tous les noms des sociétés, pour ensuite remplir automatiquement les autres champs (nom du contact, adresse...).

Mon problème est que, lorsque je veux créer la liste déroulante grâce aux validations de données, impossible de valider, un message d'erreur apparait ("Ce type de référence ne peut pas être utilisé dans une formule Validation des données.")

Plus en détail :

J'ai mon fichier de devis "Devis 3D.xlsx" et mon fichier base de donnée "Liste des clients 2019.xlsx".

Dans le fichier "Devis 3D.xlsx", je veux une liste déroulante faisant référence au tableau que j'ai créé dans "Liste des clients 2019.xlsx". J'ai bien nommé la colonne du tableau "SOCIÉTÉ", mais rien n'y fait, impossible de créer la liste via validation de données dans le fichier devis.

Savez vous comment procéder ?

Également, plus hard ( ), pour certaines sociétés j'ai plusieurs noms de contacts. J'aimerais alors faire dérouler comme suit :

  • Choisir la société via liste déroulante (après avoir résolu mon soucis ci-dessus)
  • Choisir via une autre liste déroulante le contact que je souhaite (les autres champs seront toujours identiques)

Je ne sais pas, déjà, comment organiser mon tableau (j'ai créé un tableau via insertion > tableau). Et pour la formule... Ça devient complexe pour moi, j'ai commencé Excel il y a 6 mois.

En tout cas merci d'avance pour vos réponses !

A+

Bonjour

Une petite question avant de commencer la résolution de problème Pourquoi ne pas regrouper tout dans un seul est même classeur Excel ? C'est à dire avoir un onglet avec la base de tous les clients, et un onglet pour chacune des 4 technologies ?

J'y ai pensé aussi ! Mais c'est trop compliqué, j'ai vite abandonné l'idée. J'ai entre 6 et 11 feuilles par fichier de devis (bases de données spécifiques etc...), on s'y perdrait rapidement.

J'ai trouvé une solution pour mon problème. Mais j'en ai eu un autre

Ce que j'ai oublié de préciser (je ne pensais pas ça hyper important), c'est que nous avons 4 PC connectés sur le même serveur. Je pensais que si la Base de donnée client était ouverte continuellement sur un PC, cela fonctionnerait. Mais non

Du coup je pense devoir passer par des macros, chose que je ne maîtrise pas du tout car je n'en ai jamais fait.

Je prépare un fichier de "test" à vous fournir.

Edit : j'ai ajouté des fichiers test

58bdd2019-test.xlsx (10.41 Ko)

Ok d'accord

Bon on va faire ça en 2 étapes :

Etape N°1 : Dans ton fichier base client tu sélectionnes la plage où se trouve les clients et tu nomes cette plage comme tu le souhaites (voir image animée ci-dessous) pour moi ce sera CTS

Etape N°2 : Dans le fichier ou tu édites les devis, dans l'onglet Formules du clique sur Gestionnaire des nom, tu cliques sur "Nouveau" tu mes un nom (comme tu le souhaites, pour moi je le nome TCS) et dans "Fait référence à :" tu met ='Base clients 2019.xlsx'!CTS. Une fois fait tu ajoute un menu déroulant et tu met pour la liste =CTS !

Voilà le tour est joué, il faut cependant que la base clients soit ouverte pour que le menu déroulant fonctionne

ct3 ct1 ct2

Merci beaucoup pour ta réponse @GGautier !

Mais comme dit dans mon message précédent, cela ne fonctionne pas (enfin si, mais pour 1 PC). Nous avons 4 PC connectés en réseau interne, et il faut absolument que la BDD soit ouverte sur le PC où l'ont fait le devis. Trop galère pour nous. Je pensais qu'en laissant ouvert la BDD sur 1 des 4 PC, cela suffirait pour alimenter les 4 PC.

C'est pour ça que je pense que la seule solution est de faire ça avec des macros

Ok alors pour que ça fonctionne avec un classeur fermé, à l'étape où tu ajoute la référence dans le Gestionnaire de nom tu précise l'adresse de là où se trouve ton fichier

ex : ='C:\Users\LemarchanG\Desktop\Base.xlsx'!CTS

J'ai un dossier qui s'appelle "7. CLIENTS", et lorsque je met l'adresse où se trouve ma BDD à l'étape des noms j'ai une erreur de syntaxe qui s'affiche. Je pense que ça vient de ce dossier ? (L'espace ou le point ?)

Edit : Je galère avec les chemins réseaux. J'ai déplacé le fichier BDD sur le serveur avant ce dossier "7. CLIENTS" pour éviter l'erreur de syntaxe, mais je n'ai toujours pas de résultat avec la liste déroulante

Alors le plus sur pour récupérer le chemin d'accès au fichier est de le mettre le fichier sur le serveur, une fois mis en place, de faire un clique droit puis propriétés. De là tu peux récupérer l'adresse de là ou se trouve de fichier.

En suite dans dans le fichier ou tu veux ajouter la liste, dans le gestionnaire des noms, tu fais Nouveau, tu met le Nom que tu veux et dans Fait référence à : tu écrit : ='adresse du fichier\nom du fichier.xlsx'!nom de la plage de la liste des clients

Nous avons eu des soucis de réseau cet après-midi, je regarde ça demain. Merci pour ta réactivité en tout cas

Je viens de refaire des tests de mon côtes et il faut aussi laisser le fichier base client ouvert. Pour la solution sans VBA tu peux garder la technique ci-dessus et activer le partage sur le fichier base des clients je réfléchirait demain pour une solution VA

Ça y est, le réseau refonctionne. Je me penche là-dessus de suite

Malgré mes essais, impossible de faire fonctionner la liste. Voilà ce que j'ai fait (je passe les futilités du début) :

- Nommé ma liste client dans ma BDD (BDD2019.xlsx) en "societe"

- Créé un nom de liste dans mon fichier devis (DV2019MMJJ_3D.xlsx) avec pour nom de liste "lsociete" et pour référence : ='smb://serveur/E/S*****/BDD2019.xlsx'!societe (et 2ème essai avec ='E/S****/BDD2019.xlsx'!societe)

Voici les infos du fichier pour trouver son chemin (les * cachent le nom de la société) :

s8yd

- Faire une validation de données sur la cellule choisie en autorisant une liste faisant référence à =lsociete. Un message d'erreur apparaît, "La source est reconnue comme erroné. Voulez-vous continuer ?". Je clique sur oui, la flèche de ma liste déroulante apparaît mais... pas de données dedans (mon fichier "BDD2019.xlsx" est resté ouvert du début à la fin de la manip"

Si je recommence exactement la même manip en remplaçant la référence du nom de liste (dans fichier devis, "lsociete") par =BDD2019.xlsx!societe, cela fonctionne.

Pour la solution sans VBA tu peux garder la technique ci-dessus et activer le partage sur le fichier base des clients

Je viens de relire ton dernier message @GGautier, quand tu parles d'activer le partage, comment fais-tu ?

Clique sur l'image animée ci-dessous. Une fois partagé tout le monde peux accéder au classeur de manière simultanée

Après dans le fichier ou tu as ton menu déroulant tu peux ajouter une petite ligne de code pour ouvrir automatiquement le fichier partagé

share

C'est bien ce que j'avais lu, mais... petit soucis pour moi, je n'ai pas cette option dans l'onglet révision

4z5r

Regarde du côté des options Excel pour voir si tu peux rajouter ce paramètre !

Petit message d'erreur lorsque je clique sur partager le classeur. J'ai bien fait ce qu'ils disent, mais je n'ai pas de commentaire et donc "supprimer" est grisé.

vw8o

Pour la ligne de code, comment procède-t-on ? Il faut que j'aille dans le menu des macros ?

Bon, j'avoue que je tourne en rond sur le sujet, je me perd moi même dans ma réflexion. De plus je ne connais absolument pas Excel pour MAC

Le mieux, pour trouver une réponse adaptée à ton besoins, je te propose de clôturer ce poste et d'en ouvrir un nouveau avec pour titre quelque chose du genre : "Alimenter une liste depuis un classeur fermé"

Rechercher des sujets similaires à "bdd client double liste"