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]