PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Excel Automation fonction Find sur une sélection de cellule Range
Excel Automation fonction Find sur une sélection de cellule Range
Iniciado por Serge MAURY, 20,ene. 2020 17:35 - 1 respuesta
Miembro registrado
4 mensajes
Publicado el 20,enero 2020 - 17:35
Bonjour,

je n'arrive pas à trouver sur le forum la syntaxe exacte pour faire une recherche sur une sélection de cellules qui permet de passer en paramètre que la recherche doit être exacte.

Par exemple on peut faire une recherche sur toute la feuille avec :

XlsOleMonDocument>>Cells>>Find("RECHERCHE",XlsOleMonDocument>>ActiveCell,-4123,1)>>row

Retourne la 1ere ligne ou le mot exacte RECHERCHE apparaît.

Je souhaiterais une fonction du type :

XlsOleMonDocument>>Range("A"+nPremiereLigne+":A"+nDerniereLigne>>Find("RECHERCHE",XlsOleMonDocument>>ActiveCell,-4123,1)>>row

hélas cette syntaxe ne fonctionne pas, seule la syntaxe suivante fonctionne :

XlsOleMonDocument>>Range("A"+nPremiereLigne+":A"+nDerniereLigne>>Find("RECHERCHE")>>row
Mais dans ce cas j'ai la 1ere ligne dont la valeur commence par RECHERCHE.

J'ai besoin de faire ce type de recherche car selon le résultat obtenu je souhaite reprendre la recherche pour trouver la deuxième ligne contenant le mot RECHERCHE.

Merci d'avance
Serge
Miembro registrado
4 mensajes
Publicado el 21,enero 2020 - 12:06
A l'aide de ce sujet j'ai finis par trouvé ce qui clochait.

https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/53801-excel-ole-passage-parametre-dans-commande-find/read.awp


Voici la syntaxe à utiliser (Il faut tout d'abord sélectionner les cellules. Puis faire la recherche sur cette sélection.
Sélectionner ensuite le résultat de la recherche et récupérer ensuite le numéro de ligne de la sélection.
Toute autre syntaxe provoque des résultats aléatoires selon si plusieurs correspondances à recherche existent.

XlsOleMonDocument>>Range("L"+(nDepart)+":L"+nFin)>>Select
XlsOleMonDocument>>Range("L"+nDepart)+":L"+nFin)>>Find("RECHERCHE",XlsOleMonDocument>>ActiveCell,-4123,1)>>Select
nLigne=XlsOleMonDocument>>ActiveCell>>row