Le mercredi 7 novembre 2007 18:49, Bob a écrit :
> Pourquoi ne pas utiliser les fonctions de Calc ?
> RECHERCHEH devrait faire l'affaire.
>
> =RECHERCHEH(La_zone_du_tableau; adresse_de_la_cellule_contenant_le
> nom_de_colonne; adresse_de_la_cellule_contenant_le_numero_de_ligne; 0)

Ah... Je n'y avais pas pensé...
Je vais regarder dans mon bouquin de quelle façon, je peux transmettre la 
valeur de retour d'une fonction Calc à une fonction Basic.


> ensuite, ta macro modifie simplement les cellules contenant le nom de la
> colonne et le numéro de ligne
> et tu récupère le résultat de la formule =RECHERCHEV(...)
>
> ---------------------------------------------------------------------------
>---
>
> Autre solution par macro :
> la recherche est assez bestiale. Je voulais améliorer tout ça en
> conservant le résultat de la première recherche dans un cache, ce qui
> devrait booster les performances.
>
> cacheMnemo as string
> dim cacheNumColForMnemo(100) as integer
>
> Function ColNumForMnemo(aMnemo as string) as integer
>     dim colNum as integer
>     dim rowNum as integer
>     dim colName as string
>     dim findCol as boolean
>
>     colNum = 0
>     rowNum = 0 ' numero de la ligne contenant les entetes
>     findCol = false
>     with TheSheet
>         do until .getCellByPosition(colNum, rowNum).string = ""
>                colName = .getCellByPosition(colNum, rowNum).string
>                if colName = aMnemo then
>                 findCol = true
>                    exit do
>                end if
>             colNum = colNum + 1
>         loop
>     end with
>
>     if findCol then
>         ColNumForMnemo() = colNum
>     else
>         ColNumForMnemo() = -1
>     end if
>
> End Function

C'est une fonction qui permet de rechercher quelle est la colonne contenant 
l'en-tête mais je souhaite éviter de devoir passer par ceci car j'ai beaucoup 
de données et je crains pour la rapidité...

-- 
Michel Grentzinger
        OpenPGP key ID : B2BAFAFA
                Available on http://www.keyserver.net

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à