Rechercher et afficher

webanis Messages postés 44 Date d'inscription mercredi 19 septembre 2007 Statut Membre Dernière intervention 11 décembre 2007 - 23 nov. 2007 à 11:11
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 24 nov. 2007 à 10:49
salut


 


comment parcourire  une tableau a une dimenesion N  avec un recherche d'une chaine bien defini

et lorsque  en ne trouve pas cette chaine en va ajouter 

  on lis la ligne et on la stock dans la variable tmp  et puis rechercher
InStr(tmp, motnom(i)

3 réponses

mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
23 nov. 2007 à 12:31
Salut,

dim Atrouve as boolean
Atrouve=false
dim LigneMot as Integer
for i=1 to len(Tableau)  '(si ton tableau commence à 1)  tu parcours ton tableau
   if InStr(Motcherche, Tableau(i)) then 'si tu trouves ton mot, tu sors de la boucle et tu sauvegardes le numéro de la ligne si t'en as besoin
      atrouve=true
      LigneMot=i
      exit for
   endif
next
if not Atrouve then 'si il l'a pas trouvé, il doit l'ajouter à la fin (sinon, adapte et classe le)
   redim tableau(1 to ubound(tableau)+1) 'encore une fois, valable si ton tableau commence à 1, sinon adapte. Ca redimensionne ton tableau pour pouvoir mettre la valeur en question
   tableau(ubound(Tableau))=MotCherche
   msgbox "Pas trouve mot"
else 'si il l'a trouvé, il t'affiche la ligne dans le tableau
   msgbox "A trouvé mot ligne " & trim(str(LigneMot))
endif
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
23 nov. 2007 à 12:34
Ah, un truc, si ton tableau a N lignes au max, dans ce cas là, tu fais de 1 à N, et tu sors lorsque y'a rien dans ta ligne, et dans ce cas, tu mets ta chaine là au lieu de rajouter une ligne derrière.
Le problème avec ce système c'est que si tes N lignes sont déjà remplies, tu peux pas rajouter de ligne.
A toi de voir donc si tu es sur que tu ne dépasseras jamais cette limite.
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
24 nov. 2007 à 10:49
 Bonjour,

Une autre méthode avec Filter:

MsgBox RechercheDansTableau("mardi")
MsgBox RechercheDansTableau("vendredi")

Function RechercheDansTableau(Recherche)
Dim MonTableau()
ReDim MonTableau(5)
MonTableau(0) = "lundi"
MonTableau(1) = "mardi"
MonTableau(2) = "jeudi"
MonTableau(3) = "samedi"
MonTableau(4) = "lundi"

If UBound(Filter(MonTableau, Recherche)) >= 0 Then
   RechercheDansTableau = "l'élément recherché a été trouvé"  &vbCr& _
                           Join(MonTableau)
 Else
   MsgBox "l'élément recherché n'a pas été trouvé" &vbCr& _
          Join(MonTableau),,Recherche
   MonTableau(UBound(MonTableau)) = Recherche
   ReDim Preserve MonTableau(UBound(MonTableau) + 1)  
   RechercheDansTableau = "l'élément recherché a été rajouté au tableau" &vbCr& _
                          Join(MonTableau)
End if
End function

jean-marc
0
Rejoignez-nous