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 TabB 1 Lig 2Col avec TabA 1 Lig sur 1ol (TabB x Lig et TabA 3 Lig)


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de GESCOM2000
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 107
    Points : 79
    Points
    79
    Par défaut Comparer TabB 1 Lig 2Col avec TabA 1 Lig sur 1ol (TabB x Lig et TabA 3 Lig)
    Bonjour

    Je n'arrive pas à faire simple (pourtant, ça devrait être simple pour certains)

    Question dans le titre

    TabA de réference donne 10-50, 50-100, et 100-50 (TabA varie peut être 4-5 4-50 50-4 et TabB idem x valeur)

    Dans l'exemple en cherchant, avec la TabB sur TabA, il doit trouver 10-50 (Lig 2) ,50-100 (Lig 4) et 100-50 (Lig 5)

    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
    33
    34
    35
    36
    37
    38
    39
     
    Function Test1
    Dim I as integer
    Dim TabA()
    Dim TabB()
    Dim RechercheLaPaire as string
     
    'NbDeRecherche= (3 * (3 - 1)) / 1     ' toujour resultat fixe 10(1)-50(2)-100(3) => 10-50/10-100/...50-100 ou 100-50
     
    Redim TabA(1 to 3)
     
    TabA(1)=10
    TabA(2)=50
    TabA(3)=100
     
    ReDim TabB(1 To 5, 1 To 2)
     
    TabB(1,1)=41
    TabB(1,2)=45
     
    TabB(2,1)=10
    TabB(2,2)=50
     
    TabB(3,1)=14
    TabB(3,2)=45
     
    TabB(4,1)=50
    TabB(4,2)=100
     
    TabB(5,1)=100
    TabB(5,2)=50
     
    'Soit par boucle ou Do ou select case?......
    For I = 1 to Ubound(TabB)
    '.......
    if Ok then msgbox RechercheLaPaire 
    next I
     
    end function
    Merci pour votre aide

    En gros je recherche les 6x2 combi du TabA dans tabB à 2 Combi fois x Lig

  2. #2
    Membre chevronné
    Inscrit en
    Septembre 2007
    Messages
    1 132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 132
    Points : 1 803
    Points
    1 803
    Par défaut
    Bonjour,

    Citation Envoyé par GESCOM2000 Voir le message
    En gros je recherche les 6x2 combi du TabA dans tabB à 2 Combi fois x Lig
    Voici ton code modifié qui devrait donner le résultat espé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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Option Explicit
    Function Test1()
    Dim I As Integer
    Dim strA
     
    'NbDeRecherche= (3 * (3 - 1)) / 1     ' toujour resultat fixe 10(1)-50(2)-100(3) => 10-50/10-100/...50-100 ou 100-50
     
    ReDim TabA(1 To 3)
     
    TabA(1) = 10
    TabA(2) = 50
    TabA(3) = 100
     
    ReDim TabB(1 To 5, 1 To 2)
     
    TabB(1, 1) = 41
    TabB(1, 2) = 45
     
    TabB(2, 1) = 10
    TabB(2, 2) = 50
     
    TabB(3, 1) = 14
    TabB(3, 2) = 45
     
    TabB(4, 1) = 50
    TabB(4, 2) = 100
     
    TabB(5, 1) = 100
    TabB(5, 2) = 50
     
    strA = Join(TabA, ",") & ","
    'Soit par boucle ou Do ou select case?......
    For I = 1 To UBound(TabB)
        If InStr(strA, TabB(I, 1) & ",") > 0 And InStr(strA, TabB(I, 2) & ",") > 0 _
            Or InStr(strA, TabB(I, 2) & ",") > 0 And InStr(strA, TabB(I, 1) & ",") > 0 Then
            MsgBox "ligne " & I & " : " & TabB(I, 1) & "-" & TabB(I, 2)
        End If
    Next I
    End Function

  3. #3
    Membre chevronné
    Inscrit en
    Septembre 2007
    Messages
    1 132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 132
    Points : 1 803
    Points
    1 803
    Par défaut
    Bonjour,

    Le code correspond-t-il à ton attente ?

  4. #4
    Membre régulier Avatar de GESCOM2000
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 107
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par anasecu Voir le message
    Bonjour,

    Le code correspond-t-il à ton attente ?
    je prends le If and or.... et test

    pour la structure des 2 tables (Ma tabB est en ReDim TabB(1 To 5, 1 To 2)

    Nom : 2017-09-12_00733.jpg
Affichages : 73
Taille : 34,8 Ko
    Nom : 2017-09-12_00734.jpg
Affichages : 77
Taille : 29,3 Ko

  5. #5
    Membre chevronné
    Inscrit en
    Septembre 2007
    Messages
    1 132
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 132
    Points : 1 803
    Points
    1 803
    Par défaut
    Bonjour,
    Citation Envoyé par GESCOM2000 Voir le message
    je prends le If and or.... et test
    En fait tu n'as pas besoin du or car ceci fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    strA = Join(TabA, ",") & ","
    For I = 1 To UBound(TabB)
        If InStr(strA, TabB(I, 1) & ",") > 0 And InStr(strA, TabB(I, 2) & ",") > 0 Then
            MsgBox "ligne " & I & " : " & TabB(I, 1) & "-" & TabB(I, 2)
        End If
    Next I

Discussions similaires

  1. Comparer mot de passe entré avec mot de passe hashé
    Par loopback dans le forum Langage
    Réponses: 2
    Dernier message: 14/11/2007, 21h38
  2. Peut-on comparer un fichier du cache avec un fichier qu'on veut précharger ?
    Par 12_darte_12 dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 05/12/2006, 12h13
  3. comparer 2 tableau de int avec marge d erreur
    Par jerome86600 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 17/07/2006, 14h31
  4. comparer 2 tableau de int avec marge d erreur
    Par jerome86600 dans le forum Visual C++
    Réponses: 0
    Dernier message: 14/07/2006, 13h02
  5. Réponses: 4
    Dernier message: 24/08/2004, 13h54

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