OVH Cloud OVH Cloud

756 "SI" imbriqués

17 réponses
Avatar
iwa
Je poss=E8de une table de 2 colonnes, l'une comportant 756=20
codes (alphanum=E9rique), l'autre comportant une=20
d=E9nomination texte correspondant au code de la m=EAme ligne.

Je poss=E8de =E9galement diff=E9rentes feuilles de calcul=20
comprenant plusieurs milliers d'entr=E9es (lignes) avec 1=20
colonnes reprenant les 756 codes de ma premi=E8re table.

Je souhaite remplacer ces codes par la d=E9nomination=20
correspondante. Une sorte de 756 imbrications de SI...
Je soup=E7onne une solution en VBA ou avec une macro.

Si vous avez cette solution, je vous en supplie, donnez la=20
moi.

HELP

7 réponses

1 2
Avatar
...Patrick
et les recherches gauche/droite sur des zones nommées ...
donc, je suis devenu grâce à Alain, un adepte de index/equiv car le N° de colonne dans
recherchev est pas très....parlant
Bye
...Patrick (converti)


"AV" a écrit dans le message de news:
Ozr$
Comme Daniel a commencé ..... pour compléter le sinistre tableau par lui amorcé
:
..une couche de plus :

Exemple :
A1:A3 : fifi joue à la marelle;riri fait du bateau;toto fait du vélo
B1:B3 : Hihihi;Glouglou;Pfffff
Question : quelle est l'onomatopée qui concerne "toto"
Réponse attendue : "Pfffff"
=INDEX(B1:B3;EQUIV("*toto*";A1:A3;0)) --> Pfffff
RechercheV :
=RECHERCHEV("toto";A1:B3;2) --> Glouglou (c'est de circonstance !)
=RECHERCHEV("*toto*";A1:B3;2) --> #N/A
Moralité : RechercheV ne sait pas chercher avec les caractères génériques

AV pour la SPIE (Société Protectrice des Index Equiv)





Avatar
gee-dee-
Ah mon bon Jacquouille-Lecrenier
;-)))
suffisait de le préciser :

Proc zz_Codes()

Pour i = 2 à Feuilles.NombreDe

x = Feuilles(i).Renommer

Pour Chaque c Dans Plage(x & "!A1:A" & Plage(x &
"!A65536").Fin(3).Ligne)

y = x & "!" & c.Adresse

c.Valeur = Evaluer("Si(EstNum(Trouve(" & y
&";codes;0));Index(dénom;Trouve(" & y & ";codes;0));" & y & ")")

Suivant c

Suivant i

Fin Proc



NB: traduction automatique non verifiée : je n'ai plus excel 4 moi !!!

;-)))


"AV" a écrit dans le message de
news:
Qu'est-ce que vous avez tous à causer le Grand Breton, maintenant?


Ben pour le vba....
Faut aussi proposer la version gauloise des macros ?

AV





Avatar
Daniel.M
Salut Alain,

1.
=RECHERCHEV("toto";A1:B3;2) --> Glouglou (c'est de circonstance !)


Cohérent par rapport à une recherche binaire, i.e. XL considère 1 comme
dernier argument (recherche binaire dans liste ascendante triée)

2.
=RECHERCHEV("*toto*";A1:B3;2) --> #N/A
Il te manque le dernier argument à RECHERCHEV (pour comparer justement avec

EQUIV)
Avec:
=RECHERCHEV("*toto*";A1:B3;2;0)
Tu obtiens ton onomatopée favorite.

Moralité : RechercheV ne sait pas chercher avec les caractères génériques


EQUIV() non plus _SI_ le dernier argument est omis ou <> 0.
Les caractères génériques (*) ne fonctionnent pas avec les recherches
binaires.

Salutations,

Daniel M.

Avatar
AV
Achhh..
Faut que tu gaches mon plaisir
Comme j'utilise pas ces machins, je me vote des circonstances atténuantes (j'ai
pas dit l'absolution !)
Ce que j'aimerais c'est que qqu'un me fasse une démo à contrario :
Dire quel sont les avantages de la famille "FarfouilleTruc" ?

;-)
AV
Avatar
Jacquouille
Un grand merci, Gilbert.
C'est la Gaule entière qui te remercie à travers mes doigts.
Quant à ton Excel4, il faut te moderniser, mon vieux.
Fais comme moi. Tu te choisis un patron qui "tourne" encore avec Excel5 et
le tour est joué;
Bonne soirée et bises aux filles.

--
Jacquouille con seille : http://www.excelabo.net


"gee-dee-" a écrit dans le message news:
#
Ah mon bon Jacquouille-Lecrenier
;-)))
suffisait de le préciser :

Proc zz_Codes()

Pour i = 2 à Feuilles.NombreDe

x = Feuilles(i).Renommer

Pour Chaque c Dans Plage(x & "!A1:A" & Plage(x &
"!A65536").Fin(3).Ligne)

y = x & "!" & c.Adresse

c.Valeur = Evaluer("Si(EstNum(Trouve(" & y
&";codes;0));Index(dénom;Trouve(" & y & ";codes;0));" & y & ")")

Suivant c

Suivant i

Fin Proc



NB: traduction automatique non verifiée : je n'ai plus excel 4 moi !!!

;-)))


"AV" a écrit dans le message de
news:
Qu'est-ce que vous avez tous à causer le Grand Breton, maintenant?


Ben pour le vba....
Faut aussi proposer la version gauloise des macros ?

AV









Avatar
Iwa
Désolé pour AV et ses éruptions, mais finalement j'ai
choisi la méthode recherchev... je suis pas trop doué en
visual basic et j'ai choisi la solution de facilité.

En tout cas, merci à tous pour votre aide (très) précieuse


-----Message d'origine-----
Et que fais-tu de ton devoir d'éducation des masses
laborieuses?


Paul V

AV wrote:
Evitons de parler de RechercheV quand AV est dans les
parages, il



est hyper allergique ;-)


* C'est plus génériquement "rechercheTruc" qui me fait
pousser des


boutons !

Allez, AV, explique nous encore une fois pourquoi tu
n'aimes pas



RechercheV.


* Ha que nenni.. !
Rien que de penser qu'il faut en (re)parler, j'ai une
éruption !



AV



.





Avatar
AV
Désolé pour AV et ses éruptions, mais finalement j'ai
choisi la méthode recherchev... je suis pas trop doué en
visual basic et j'ai choisi la solution de facilité.


Par rapport à ta question
("Je possède également différentes feuilles de calcul
comprenant plusieurs milliers d'entrées (lignes)..."),
le problème du choix de la fonction est anecdotique
C'est la quantité de cellules à traiter qui incite fortement à l'utilisation
d'une macro !

Mais, comme il faut bien que les "manuels" survivent...
;-)
AV

1 2