Col 0 --> nom
Col 1 --> prénom
Col 2 --> Date de naissance
Col 3 --> Numéro client
+ J'ai dans un _ArrayDisplay un tableau à plusieurs ligne et plusieurs colonnes. En saisissant un nom dans la première colonne j'arrive à savoir si j'ai ce nom dans la liste. Mais le problème c'est que je n'arrive pas à savoir si j'en ai plusieurs avec ce nom là. J'aimerai savoir si il était possible de faire une recherche en prenant en compte les deux premières colonnes, par exemple si je veux chercher si Dupont Pierre est dans la liste je voudrais saisir DUPONT PIERRE et qu'il m'affiche le résultat.
Voici mon code:
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version : 3.3.12.0
Auteur: Cyber 1
Fonction du Script :
Modèle de Script AutoIt.
#ce ----------------------------------------------------------------------------
; Début du script - Ajouter votre code ci-dessous.
#pragma compile(Icon, C:\Program Files (x86)\AutoIt3\Icons\au3.ico)
#include <String.au3>
#include <Array.au3>
;Appel de la fonction pour mettre dans un tableau
Local $s = FileRead("C:\Users\Cyber\Desktop\essai.csv")
Local $test = toArrayCsv($s)
;Fin de l'appel
_ArrayDisplay($test, "Liste des noms")
Local $sSearch = InputBox("Rechercher le nom", "Quel nom cherchez vous?")
If @error Then Exit
$sColumn=0
Local $iIndex = _ArraySearch($test, $sSearch, 0, 0, 0, 1, 1, $sColumn)
If @error Then
MsgBox($MB_SYSTEMMODAL, "Pas trouvé", '"' & $sSearch & ' ce nom n''existe pas dans notre liste .')
Else
$iIndex= $iIndex + 1
MsgBox($MB_SYSTEMMODAL, "Trouvé", '"'& $sSearch & '" a été trouvé dans le tableau à la ligne '& $iIndex & 'dans la première colonne.')
EndIf
;Fonction pour mettre info du csv dans un array
Func toArrayCsv($s)
Local $line = StringSplit($s,@CRLF,2+1) ; combien de ligne de mon fichier <> tableau
Local $maxCol = 1 ; nombre de colonne de depart
Local $a[UBound($line)][$maxCol] ; je crée un tableau de n ligne et de 1 colonne que je modifierai a ma guise
For $i = 0 To UBound($line)-1 ; parcours toute les lignes
Local $tmp = StringSplit($line[$i],";",3) ; combien de colonne pour la ligne n°i
If(UBound($tmp) > $maxCol ) then $maxCol = UBound($tmp) ; pour connaitre le nombre de colonne
ReDim $a[UBound($line)][$maxCol] ; je redimensionne mon tableau au bonne dimension
For $j = 0 To UBound($tmp)-1 ; je parcours cellule par cellule "de gauche a droite"
$a[$i][$j] = $tmp[$j] ; je remplit chaque cellule
Next
Next
Return $a
EndFunc
;Fin fonction pour mettre info du csv dans un array