Page 1 sur 1

[R] Problème _Excel_RangeFind Trouver toutes les occurences

Posté : lun. 10 nov. 2014 21:41
par Chris
Bonsoir,

J'ai un soucis avec cette Fonction.
Je n'arrive pas a trouver toutes les occurences (Var1) recherchées mais seulement la dernière.

Je fais un fichier Excel dans C:\temp\test.xlsx avec 3 feuilles identique (Idem avec 4 feuilles)
A1 = Var1
A2 = Var2
A3 = Var3

Code : Tout sélectionner

#include <Excel.AU3>
#include <Array.au3>

Local $oAppl = _Excel_Open()
local $oWorkbook = _Excel_BookOpen($oAppl,"C:\TEMP\Test.xlsx")
if @error then
    ConsoleWrite(@error & @CRLF)
    Exit
Endif

$oWorkbook.Sheets(1).Activate

local $aResult = _Excel_RangeFind($oWorkbook, "Var1")
if @error then
    ConsoleWrite(@error & @CRLF)
    Exit
Endif
_ArrayDisplay($aResult)
 
Quand je recherche la valeur "Var" _ArrayDisplay($aResult) m'affiche 7 valeurs il me zappe "Var1" sur les feuilles 1 et 2.
Quand je recherche la valeur "Var1" il me trouve que la dernière. idem avec Var2 et Var3.

Est-ce que mon utilisation de la fonction pour ma recherche est mal employée?
Est-ce quelqu'un as déjà eu ce problème et a réussi à pallier à se problème ?

je vous remercie pour l'aide que vous pourrez me fournir.
Bonne soirée

Chris.

Re: [..] Problème _Excel_RangeFind Trouver toutes les occure

Posté : lun. 10 nov. 2014 22:16
par orax
Même l'exemple 1 de la doc pour _Excel_RangeFind ne marche pas (celui où est cherché 37000). :mrgreen:
J'ai remarqué qu'il faut que la valeur y soit 2 fois. Par exemple, dans les feuilles 1 et 2, si Var1 s'y trouve deux fois, alors le 2ème Var1 est trouvé.

Re: [R] Problème _Excel_RangeFind Trouver toutes les occure

Posté : lun. 10 nov. 2014 23:09
par Chris
Oui j'avais remarqué :evil: merci les exemples...
Mais en fait faut pas forcement avoir la valeur 2 fois.

car avec un fichier excel 4 feuilles identiques comme mon exemples Var1 n'est trouvé que sur la feuille 4 il zappe les 3 première.

J'ai plus l'impression que pour la première occurrence recherché il ne fournit que la dernière trouvé et pour les autres c'est bon.

donc quand on fait une recherche sur mon exemple (4 feuilles identiques) avec la recherche de VAR

Il commence par var0 0 valeur normale
VAr1 4 fois mais indique que la dernière feuille 4
VAR2\3\ 4 fois 1 sur chaque feuille.
VAr4 0 fois normale
.
.
Etc

Bizarre.

Je vais vois pour faire une recherche feuille par feuille une programmation plus longue mais on vas voir.

Edit Solution :
Bon j'ai trouvé la solution sur le forum US
http://www.autoitscript.com/forum/topic ... ems/page-2

Dans l'udf Excel il y a :
- 2 lignes a changer de place
- 2 ligne à ajouter dons une je ne vois pas pourquoi

$aResult[0][0] = $iIndex permet de savoir le nombre d'occurence OK
$aResult[0][1] = 6 Mais la je ne vois pas pourquoi 6 perso je ne l'ai pas ajouter dans l'udf
et cela fonction correctement.
je passe en résolu

Chris

Re: [R] Problème _Excel_RangeFind Trouver toutes les occuren

Posté : lun. 10 nov. 2014 23:23
par orax
Parfait si ça marche. Mais c'est étrange, le problème date de juin 2013, ça devrait être corrigé depuis.

Re: [R] Problème _Excel_RangeFind Trouver toutes les occuren

Posté : lun. 10 nov. 2014 23:31
par Chris
oui étrange, peut-être un oubli ou problème non remonté.

Mais heureux d'avoir trouvé la solution :D .
J'ai environs 2500 fichiers excel a scruter avec différente valeur.