[R] Lire dans deux colones d'un tableau

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
EdenGuegn
Niveau 1
Niveau 1
Messages : 2
Enregistré le : lun. 03 juin 2019 14:35
Status : Hors ligne

[R] Lire dans deux colones d'un tableau

#1

Message par EdenGuegn » mar. 25 juin 2019 13:51

Bonjour, j'ai une question a vous poser à propos d'un tableau. Le tableau est constitué de plusieurs lignes et plusieurs colonnes, les données sont des noms/prénom/date de naissance importées d'un .csv . Ce tableau est constitué ainsi
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
Modifié en dernier par EdenGuegn le jeu. 27 juin 2019 13:07, modifié 1 fois.

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5866
Enregistré le : dim. 29 mai 2011 16:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Lire dans deux colones d'un tableau

#2

Message par mikell » mer. 26 juin 2019 13:09

Sujet déplacé dans l'Aide Générale

Poster le fichier csv serait une très bonne idée...
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

EdenGuegn
Niveau 1
Niveau 1
Messages : 2
Enregistré le : lun. 03 juin 2019 14:35
Status : Hors ligne

Re: Lire dans deux colones d'un tableau

#3

Message par EdenGuegn » jeu. 27 juin 2019 13:05

Merci de ta réponse. J'ai finalement réussi ce que je voulais faire mais merci quand même

Répondre