menu déroulant

E

Enjoué

Guest
Bonjour,

J'ai une question sur une application:

J'ai un fichier excel avec 2 onglet: 1 onglet fichier avec des noms d'entreprises, plusieurs contacts pour chaque entreprise et des informations liées à chaque contact.

Sur le deuxième onglet, la liste des contacts liés aux entreprises avec les informations pour chaque contact.

Le problème: Dans l'onglet fichier, j'ai une liste déroulante pour les contacts par entreprise, je sélectionne un nom et graâce la fonction RECHERCHE V, j'ai le numéro de téléphone, la fonction du contact qui s'affiche.
Mais, si j'ajoute un nom d'entreprise dans l'onglet fichier, et que je fait un tri croissant, mes cellules de liste déroulantes de contacts se décalent.

Avez-vous une solution, et si la macro est la solution, connaissez vous la macro qui permet de faire cela?

Merci
 
E

Exfan

Guest
Bonjour, j'essaye de comprendre plus...
onglet 1, les noms (pas de codes?)
onglet 2, les contacts...quel est le lien avec onglet 1 ?
la position initiale ?
un code 'commun' qui permet de trier, alors il faut trier les deux

ajout onglet1 => ajout onglet 2, re-tri 1 et 2 sur le meme code commun (un ID en sorte)...

c'est cela? parcequ'il faut bien un lien (un champ commun) au deux feuilles pour retrier et garder le parrallélisme des deux fiches...

a+
 
E

Exfan

Guest
re-Bonjour,

et si tu mettais les contacts avec les noms, dans la m^me feuille...
dans la colonne adjacente, ton tri sur les deux colonnes garde la cohérence de l'ensemble...
dois-tu vraiment avoir deux onglets séparés ?
 
E

Enjoué

Guest
Oui, il faut 2 onglets car j'ai un fichier 'propre' avec le nom des entreprises et sur la même ligne une case avec un menu déroulant contenant les contacts.

J'ai par ailleurs un onglet avec tous les contacts de toutes les entreprise. A chaque contact, sur la même ligne, j'ai un numéro de téléphone, la fonction...

Quand je suis dans le fichier 'propre', je sélectionne 1 contact et j'ai les informations de l'autre onglet qui s'affichent sur la même ligne.

J'espère que je suis clair
 

Dan

XLDnaute Barbatruc
Bonjour,

Si j'ai bien compris ta demande, tu as plusieures possibilités pour résoudre ton pb :

1. Ton onglet regroupe toutes les infos comme te disait Exfan
Dans ce cas tu peux, pour passer d'une vue vers l'autre:
- te servir des affichages personnalisés .
ou
- te mettre en mode plan

Avantage : tu n'as plus qu'une seule base de données

2. Tu travailles sur deux onglets
- Lorsque tu ajoutes une nouvelle société et des contacts, sélectionne les deux onglets puis insères ta ligne dans la feuille. Cette manière de travailler de permettra d'insérer une ligne au même endroit sur chaque feuille.

Si pb n'hésite pas

;)
 

Exfan

XLDnaute Nouveau
donc, tu n'a pas de champ commun entre les deux onglets.
a mon avis, tu devrais en avoir un (c'est une clé unique faisant la relation entre tes deux onglets...

ce que je vois...tu as eu une permière liste en phase avec la deuxième,
ta liste déroulante retrouve à la même position (plus ou moins un décalage éventuel ) l'élément de la seconde.
mais,
dès que tu ajoutes un élément en onglet 1, et que tu retris, vois que l'ordre de l'onglet 1 est chamboulé, tandis que l'autre aussi si tu saisie un nouveau contact...il n'y a plus adéquation ligne pour ligne.
je ne vois que deux choses.
soit tu reportes le champ entreprise dans le deuxième onglet, avec un tri dessus qui sera à l'identique du premier onglet

au passage tu pourrais 'coder' ta liste, ca dire donner un identifiant court et distinctif plutôt qu'un libellé long et changeant.
onglet1:
ENT1 Sociéte untel
ENT2 société 1Tel
etc
onglet 2
ENT1 contact untel
ENT2 contact 1Tel


le tri dois être sur la colonne 1 (ENTx), qui mettra en parrallèle tes infos
rien ne t'empêche de masquer cette colonne 'lien'
le code étant cours, il est facile à retaper dans l'onglet 2

un seul de bouton de retriage des deux feuilles
ta liste déroulante est propre
seul obligation:
retaper une liste de code, sauf si le tri est alphabétique sur l'entreprise, à ce moment:
ENT1 représente quand m^me ton identifiant, avec lequel tu vas chercher (recherchev par exemple) le contact

tu as dans ce cas(onglet 1)
col A col B
ENT1 A_entreprise
ENT3 B_ENTreprise
ENT2 C_entre_prise

avec tri sur plage A:B selon critère B (ordre alpha...)

la liste déroulante te renvoi qqpart à définir (mettons) A1, la valeur position dans ta liste, avec laquelle tu vas chercher ENTx

par indirect(concatener('A';A1)) (=ENT1 méttons)-> A2=indir...
qui avec rechercheV sur onglet 2 (trié par ENTx dans ce cas!)

te donnera le contact afférent...
onglet2
trié sur
ENT1 contact ENT1
ENT2 contact ENT2
ENT3 contact ENT3

contact

=RECHERCHEV(A2;'plage A:B de onglet2';2;0)

réserve en LIGNE 1 tes deux formules, puis masque la ligne

attention de ne pas prendre cette ligne dans ton tri alpha,
le mieux est de passer par une plage définit par un nom
c'est mieux comme cà?
a+
 

Exfan

XLDnaute Nouveau
bon, Exfan content...
je t'envois ma vision des choses, pour un premier jet... [file name=liste_deroulante_20051124132945.zip size=16213]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/liste_deroulante_20051124132945.zip[/file]
 

Pièces jointes

  • liste_deroulante_20051124132945.zip
    15.8 KB · Affichages: 52

Exfan

XLDnaute Nouveau
Super l'ajout simultané, je ne connaissais pas !!

en effet le code est identique, il suffit de saisir le contact...
dans le cas d'une liste identifiée par un nom, cela incémente aussi la plage donc génial !
ne pas oublier de déselectionner Contact pour saisir le contact

j'ai essayé avec le fichier envoyé cela marche perfect...
merci.
 

Discussions similaires

Réponses
12
Affichages
279

Statistiques des forums

Discussions
312 379
Messages
2 087 765
Membres
103 662
dernier inscrit
rterterert