macro a adapter

sasha

XLDnaute Occasionnel
bonjour
j'ai tenté d'utiliser une macro repiquée dans un autre classeur mais je n'arrive pas à la faire fonctionner- sans doute ais je oublié de d'aparter un petit quelque chose-
est ce que quelqu'un peut m'aider je n'arrive pas à trouver mon erreur ou mon oubli
merci de votre aide
 

Pièces jointes

  • a vendre-2.xls
    253 KB · Affichages: 47

sasha

XLDnaute Occasionnel
Re : macro a adapter

désolée, je ne sais pas ce qui cloche car je suis une sous douée des macros...
il y a une boite deroulante dans la 1ere cellule supérieure du tableau en PJ, cette boite se rapporte à la 1ere colonne de l'onglet sources ensuite sur chaque ligne on devrait retrouver les infos qui correspondent au titre choisi
 

Fred0o

XLDnaute Barbatruc
Re : macro a adapter

Bonsoir Sasha,

Un essai en pièce jointe. J'ai modifié les formules des champs nommés et celles de la feuille.

A+
 

Pièces jointes

  • Sasha_V1.xls
    255.5 KB · Affichages: 43
  • Sasha_V1.xls
    255.5 KB · Affichages: 40
  • Sasha_V1.xls
    255.5 KB · Affichages: 38

Fred0o

XLDnaute Barbatruc
Re : macro a adapter

Bonjour Sasha,

Je n'ai utilisé aucune macro dans le fichier.

Pour expliquer la formule utilisée :
Code:
=SI($D$7="";"";INDEX(Base;1;LIGNE()-9))

Le champ "Base" est un champ nommé, visible dans le gestionnaire de noms (sélectionner l'option de menu "Formules" - "Gestionnaire de noms").

Ce champ fait référence à une zoné définie par cette formule :
Code:
=DECALER(source!$A$2;EQUIV(repertoire!$D$7;source!$A$3:$A$65000;0);;1;NBVAL(source!$1:$1))
Pour faire simple, avec la fonction EQUIV, on recherche la valeur contenue dans "repertoire!$D$7" sur une zone comprise entre source!$A$3 et $A$65000.

Puis, à l'aide de la fonction DECALER, on étend cette zone au nombre de colonnes utilisées dans la ligne 1 (voir fonction "NBVAL(source!$1:$1)").

Donc, le champ Base correspond à la ligne du champ dans la feuille "source" dont la colonne de gauche contient le mot sélectionné en "repertoire!$D$7" et de largeur égale à celle de la base de données.

A partir de ce champ Base, on peut appliquer une formule de recherche de type INDEX.

On va rechercher dans le champ "Base", la colonne n correspondant à l'information souhaitée. Par exemple, la 1° colonne donne le titre, la 2° donne le descriptif, etc.

Etant donné que la base est en horizontal et l'affichage se fait en vertical de D10 à D16, on transforme le n° de ligne en n° de colonne par la fonction
Code:
LIGNE()-9

En effet, la ligne 10 "Titre" traitée de cette manière renverra l'information contenue dans la 1° colonne. La ligne 11 renverra l'information contenue dans la 2° colonne, etc.

En espérant avoir été le plus clair possible, n'hésites pas si tu as des difficultés à comprendre.

A+

PS : Pour comprendre en détail le fonctionnement des formules, n'hésites pas à utiliserla touche <F1> car l'aide EXCEL est très bien faite.
 

Discussions similaires

Réponses
1
Affichages
204
Réponses
14
Affichages
974

Membres actuellement en ligne

Statistiques des forums

Discussions
312 932
Messages
2 093 733
Membres
105 802
dernier inscrit
Witchun