IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Comparaison d'une liste de string à un string


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Comparaison d'une liste de string à un string
    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é.

    ci dessous le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
     
    ' 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
    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 ! -

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Si j'ai bien compris, tu as une variable MaVariable qui contient un string, ainsi qu'un tableau de variables MonTableau qui contient une liste de strings.

    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For i = 0 to uBound(MonTableau)
       if MaVariable = MonTableau(i) then
          MsgBox "Identique"
       end if
    Next

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Points : 374
    Points
    374
    Par défaut
    Bonjour,
    Si tu veux un exemple plus complet, en utilisant le code de pc75, tu peux faire comme ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Option Explicit
     Dim MonTableau(4)
     
    Private Sub Command1_Click()
    Dim i, MaVariable
    MaVariable = "Léon"
    For i = 0 To UBound(MonTableau)
       If MaVariable = MonTableau(i) Then
          MsgBox MonTableau(i) & " correspond à MaVariable"
       End If
    Next
    End Sub
     
    Private Sub Form_Load()
    MonTableau(0) = "Pierre"
    MonTableau(1) = "Louis"
    MonTableau(2) = "Marcel"
    MonTableau(3) = "Jean"
    MonTableau(4) = "Léon"
    End Sub
    jpleroisse

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Je viens de corriger mon post...
    At'tation !

    Une fois tu mets
    Dim StringRes() As String 'concaténation indice et string'
    et une autre fois :
    Then Resultat.SringRes(i) = Ereng.ListeIndice(n)
    Juste comme ça...
    Quand à ta comparaison, ce ne serait pas plutôt la mesure d'un écart ?

Discussions similaires

  1. [Débutant] Comparaison sur une liste contenu dans une classe d'objet
    Par jpbelmondo59 dans le forum C#
    Réponses: 8
    Dernier message: 02/09/2014, 11h45
  2. Stocker une liste sous forme de String?
    Par professeur shadoko dans le forum Hibernate
    Réponses: 4
    Dernier message: 14/09/2013, 19h11
  3. [XL-2003] Comparaison d'une liste de Numero de serie
    Par nolimit dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/09/2009, 13h43
  4. se debarrasser des crochets d'une liste ou d'un string
    Par Azzuri dans le forum Général Python
    Réponses: 2
    Dernier message: 13/12/2008, 13h35
  5. Réponses: 11
    Dernier message: 21/03/2008, 12h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo