Comparaison d'une liste de String à un String

maxazac Messages postés 1 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 19 octobre 2005 - 19 oct. 2005 à 12:55
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 - 19 oct. 2005 à 16:33
Voila, j'ai besoin de comparer un String à une liste de String.
Tout d'abord, je suis ultra débutant de quelques heures pour les infos -:)

J'ai trouvé sur le site un formule qui compare deux chaines de caractère, j'ai testé elle marche impek.

J'aimerai maintenant l'utiliser pour comparer un champs à une liste de champs.
Mon problème est que je ne sais pas comment appeler un champs typer auparavant.

Du coup je suis bloqué la :

Donc le if c'est du n'importe quoi, mais bon je viens de débuter VB il y a 2 heures donc faut pas m'en vouloir.
De plus, pour retourner le résultat, j'arrive pas à voir ou faut le déclarer.

Merci amis programmeurs ! -:)

PS :
Le copier coller du code pour une correction plus facile :

' Prend en paramètre le String (S1) à comparer et '
' la liste de String (ListeString) attaché à un indice (IndiceString)


' Déclaration des données d'entree'
Type Enreg
Dim ListeIndice() As Long 'identifiant du string'
Dim ListeString() As String 'un string de la liste'
End Type


' Déclaration du résultat '
Type Resultat
Dim StringRes() As String 'concaténation indice et string'
End Type


Public Function ComparerStringEtListe(ByVal string1 As String, UnEnreg As Enreg)
Dim TabResult(10) As Resultat ' on prend les 10 premiers résultats'
Dim n As Byte 'indice de parcours de la liste de champs d'entree'
Dim i As Byte 'indice de rentrée des résultats en sortie'
i = 0
For n = 0 To Len(Enreg)

If (Comparer(string1, Enreg.ListeString(n)) > 0.75)
Then Resultat.SringRes(i) = Ereng.ListeIndice(n)
n = n + 1
i = i + 1
Else
n = n + 1
Next

End Sub

3 réponses

cs_lacomm Messages postés 298 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 5 juillet 2013 1
19 oct. 2005 à 13:57
A vue de nez, je te conseillerais d'utiliser ADO sous VB6 et des bases de données, par ex. Access. J'utilise ça et ca marche assez bien. Il y a plein de tutos sur ce site ou sur le site www.progotop.com (c'est un peu long à expliquer)
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
19 oct. 2005 à 16:27
salut,
pense à toujours commencer ta première ligne de code par Option Explicit
ainsi, tu provoques une erreur en cas de variable non-déclarée.
(quoi que, je ne sais pas si cette option est reconnue sous VBA)

quel rapport? et bien tu aurais vu une faute de frappe Then Resultat.StringRes(i) = Enreg.ListeIndice(n) si des types s'utilisaient comme tu l'as fait.

une variable est typée.
c'est ta variable que tu instancies, pas ton type.

comment veux-tu les remplir, ce sont des tableaux NON dimentionnés !!!

essaie de bien expliquer ce que tu veux, j'avoue que de chez moi, je ne vois pas très bien C:/Documents%20and%20Settings/zarate/Desktop/Test/Code.JPG

++
PCPT [AFCK]
0
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 2
19 oct. 2005 à 16:33
Essayes d'expliquer plus clairement ce que tu veux faire avec des exemples précis ! Dans quoi est ta liste de String????
J'aimerais t'aider (si je le peux) mais je comprends mal ce que tu veux faire ... Peut être suis-je un peu c..

Phil
0
Rejoignez-nous