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

Macros et VBA Excel Discussion :

Comparer variables avec extraction sans recherche


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Par défaut Comparer variables avec extraction sans recherche
    Bonjour a tous, voila j'ai un petit probleme, je voudrais comparer 4 variables:

    var1= salut okok
    var2= salut
    var3= salut non
    var4= salut oui

    On voit bien que 'salut' apparait dans les 4 variables .. je voudrais un msgbox qui me dit que 'salut' apparait bien dans les 4 ...

    Mais sans rechercher 'salut' en rechercher un mot qui apparait 4 fois ...
    Si quelqu'un m'a compris
    Merci !

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 117
    Par défaut
    Salut,

    J'avais pensé à un tableau et le parcourir
    A vérifier bien sûr

    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
     
     
    Dim Tableau()
    Dim strSearch as string
    Dim i as integer
    Dim Cnt as integer
     
    Tableau(0) = "salut okok"
    Tableau(1) = "salut"
    Tableau(2) = "salut non"
    Tableau(3) = "salut oui"
     
    strSearch = "salut"
    Cnt = 0
     
    For i = 0 to Ubound(Tableau)
      If instr(1, strSearch, Tableau(i)) > 0 then
        cnt = cnt + 1
      end if
    Next i
     
    if cnt = Ubound(Tableau) then
       msgbox "le mot : " & strSearch & " est présent dans toutes les variables"
    end if

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Par défaut
    Salut et merci, j'ai une erreur : L'indice n'appartient pas a la selection sur Tableau (0) = "salut okok"

    Sinon j'ai pensé :

    Lire les mots de la variable 1, les decouper exemple :
    Var1=salut@okok@coucou"
    Donnerais donc 3 variables, salut, okok, et coucou
    ensuite regarder si dans Var2,var3 et var on retrouve un de ces 3 mots ..
    Mais je ne sais pas trop utiliser les fonction boucles ...

    Merci !

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 117
    Par défaut
    Oui j'ai oublié d'initialiser le tableau

    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim Tableau()
    Redim Tableau(4)
    Ensuite, si tu veux découper ta première variable, il faut que ce soit normé sinon ça risque d'être coton.

    Ben pour les boucles, il y a plusieurs possibilités, regarde dans les tutos, je vais voir aussi si je trouve un lien a te filer.
    [edit] http://www.developpez.com/vbasic/tut...tutoriel13.php

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Par défaut
    Merci a vous tous, je pense que j'y suis presque :

    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
    Dim monTab() As String
    Dim strSearch As String
    Dim X As Integer
    Dim Cnt As Integer
     
    Dim mesvariables() As String
    ReDim mesvariables(0)
    ReDim mesvariables(1)
    ReDim mesvariables(2)
     
    mesvariables(0) = strMessage2
    mesvariables(1) = strMessage3
    mesvariables(2) = strMessage4
     
     
    monTab = Split(strMessage1, "@")
    strSearch = monTab(1)
     
     
    Cnt = 0
    For X = 0 To UBound(monTab)
      If InStr(1, strSearch, mesvariables(X)) > 0 Then
        Cnt = Cnt + 1
      End If
    Next X
     
    If Cnt = UBound(monTab) Then
       MsgBox "le mot : " & strSearch & " est présent dans toutes les variables"
    End If
    Mais marche pô ! :s

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 117
    Par défaut
    Oki je vois ce que voulais dire Myrddin .......

    Il faut imbriquer les boucles sur deux tableaux pour faire la recherche de chaque variable dans le second tableau.

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut
    Je crois que la recherche est plus complexe que ça... puisque :
    Citation Envoyé par Toine45 Voir le message
    On voit bien que 'salut' apparait dans les 4 variables .. je voudrais un msgbox qui me dit que 'salut' apparait bien dans les 4 ...

    Mais sans rechercher 'salut' en rechercher un mot qui apparait 4 fois ...
    Si quelqu'un m'a compris
    Merci !
    Faudrait-il chercher chaque "mot" d'au moins 2 caractères dans toutes les variables... du genre :
    Rechercher tous les mots de 2 car dans les chaines.
    puis rechercher tous les mots de 3 car dans les chaines.
    ...

Discussions similaires

  1. Comparer variable avec donnees d'un tableau
    Par mymemorial dans le forum Langage
    Réponses: 2
    Dernier message: 10/03/2013, 16h32
  2. Réponses: 11
    Dernier message: 15/11/2006, 16h20
  3. [Conception] Comparer variable avec la base de donnée
    Par Dsphinx dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/11/2006, 10h39
  4. recherche de mot avec ou sans accent
    Par ddeee dans le forum ASP
    Réponses: 3
    Dernier message: 02/03/2006, 10h06
  5. [struts] Comparer deux variables avec <logic:equal>
    Par trax020 dans le forum Struts 1
    Réponses: 4
    Dernier message: 29/05/2005, 11h08

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