Mathias Michel a écrit :
Le 07/11/07, Michel Grentzinger<[EMAIL PROTECTED]> a écrit :
Hors cerrtaines colonnes de cette plage seront ammenées à être inversées ou à
être supprimées donc ma solution actuelle n'est pas fiable car uneLigne(2) va
renvoyer un contenu inadapté...
Je souhaite donc utiliser l'en-tête des colonnes (Rang, Nom, Prénom, Date) au
lieu du numéro...
Par exemple
sMessage = uneLigne(Colonne_Nom)
avec Colonne_Nom contenant le numéro de la colonne dont l'en-tête
contient "Nom".
Je sèche avec les tableaux... Quelqu'un peut-il me mettre sur la bonne piste ?
PS : je cherche une telle solution "rapide" car je dois traiter 8 tableaux de
100 lignes x 10 colonnes...
--
Bonjour,
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)
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
------------------------------------------------------------------------------
En espérant que ça puisse t'aider
a+
Bob
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]