1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

AIDE Comparer le contenu de 2 tableaux

Discussion dans 'Windev' créé par by2k64, Juil 24, 2018.

  1. by2k64

    by2k64 Active Member
    WXG24 MEMBRE WX WXG 23 WXG 22 WXG 21

    Inscrit:
    Fev 13, 2018
    Messages:
    53
    J'aime reçus:
    114
    Bonjour à tous, j'ai besoin d'un peu d'aide.

    J'ai crée deux tableaux que j'alimente avec une requête.

    Code (Text):
    VAR_TABLEAU_1 est un tableau de chaînes
    VAR_TABLEAU_2 est un tableau de chaînes

    POUR TOUT REQ1
        Ajoute(VAR_TABLEAU_1 ,REQ1.VALEUR)
    FIN

    POUR TOUT REQ2
        Ajoute(VAR_TABLEAU_2 ,REQ2.VALEUR)
    FIN
     
    Je souhaiterais comparer les valeurs du tableau 1 avec les valeurs du tableau 2 et alimenter un troisième tableau avec les valeurs manquantes du tableau 1 dans le tableau 2.

    Merci pour votre aide
     
    Tags:
  2. Lhadj

    Lhadj Member

    Inscrit:
    Mar 6, 2018
    Messages:
    52
    J'aime reçus:
    32
    TableSupprimeTout(TABLE_:relievedface:

    nPositionLigne est un entier // position dans mon 1° tableau

    nPosTrouvée est un entier // position trouvée dans mon 2° tableau

    nBreligne est un entier = TableOccurrence(TABLE_REQ_1) - TableOccurrence(TABLE_REQ_2)
    j est un entier = 1

    POUR TOUTE LIGNE nPositionLigne DE TABLE_REQ_1 // SELECTIONNEE je l'enlève pour passer sur toutes les lignes
    nPosTrouvée = TableCherche(TABLE_REQ_2.COL_Numero,TABLE_REQ_1.COL_Numero[nPositionLigne])

    SI nPosTrouvée < 1 ALORS
    // je n'ai pas trouvé de correspondance donc j'ajoute dans le 3° tableau
    TableAjouteLigne(TABLE_3,TABLE_REQ_1.COL_Numero[nPositionLigne],TABLE_REQ_1.COL_Type[nPositionLigne],DateVersChaîne(TABLE_REQ_1.COL_DateDotation[nPositionLigne]),TABLE_REQ_1.COL_Compagnie[nPositionLigne])
    LIB_JAUGE1..Visible= Vrai
    JAUGE_SansNom1..Visible=Vrai
    JAUGE_SansNom1=(j/nBreligne)*100
    LIB_JAUGE=(j/nBreligne)*100
    j++


    FIN
    FIN
     
  3. by2k64

    by2k64 Active Member
    WXG24 MEMBRE WX WXG 23 WXG 22 WXG 21

    Inscrit:
    Fev 13, 2018
    Messages:
    53
    J'aime reçus:
    114
    Merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    pour ton astuce mais elle s'applique difficilement à mon problème car il s'agit de tableaux mémoire et non pas de tables.

    Néanmoins j'ai trouvé une solution, qui même si elle n'est pas optimisée, fonctionne très bien.

    Code (Windev):

    VAR_TABLEAU_1 est un tableau de chaînes
    VAR_TABLEAU_2 est un tableau de chaînes

    POUR TOUT REQ1
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (VAR_TABLEAU_1 ,REQ1.VALEUR)
    FIN

    POUR TOUT REQ2
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (VAR_TABLEAU_2 ,REQ2.VALEUR)
    FIN

    POUR TOUT VALEUR3 DE VAR_TABLEAU_2
        SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (VAR_TABLEAU_1,tcLinéairePremier,VALEUR3) = -1 ALORS
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (VAR_TABLEAU_3,VALEUR3)
        FIN
    FIN

    POUR TOUT VALEURFIN DE VAR_TABLEAU_3
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (VALEURFIN)
    FIN
     
    #3 by2k64, Juil 24, 2018
    Dernière édition: Juil 24, 2018
    Dbeele, Bip_bip et Fakirato aiment ça.
  4. Kelard

    Kelard Active Member
    MEMBRE WX

    Inscrit:
    Avr 6, 2018
    Messages:
    103
    J'aime reçus:
    134
    Et si tu fais comme ça?

    Code (Windev):


    VAR_TABLEAU_1 est un tableau de chaînes
    VAR_TABLEAU_2 est un tableau de chaînes
    VAR_TABLEAU_3 est un tableau de chaînes

    POUR TOUT REQ1
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (VAR_TABLEAU_1 ,REQ1.VALEUR)
    FIN

    POUR TOUT REQ2
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (VAR_TABLEAU_2 ,REQ2.VALEUR)
       
        SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (VAR_TABLEAU_1,tcLinéairePremier,REQ2.VALEUR) = -1 ALORS
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (VAR_TABLEAU_3,REQ2.VALEUR)
        FIN
    FIN


    POUR TOUT VALEURFIN DE VAR_TABLEAU_3
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (VALEURFIN)
    FIN

     
     
  5. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    657
    J'aime reçus:
    232
    Code (Text):
    VAR_TABLEAU_1 est un tableau de chaînes


    POUR TOUT REQ1
        majtableau(REQ1.VALEUR)
    FIN
    POUR TOUT REQ2
        majtableau(REQ2.VALEUR)
    FIN

        PROCEDURE INTERNE majtableau(mavaleur)
        SI TableauCherche(VAR_TABLEAU_1,tcLinéairePremier,mavaleur) = -1 ALORS
            Ajoute(VAR_TABLEAU_1,mavaleur)
        FIN
        FIN
    Je préfère ceci
     
    Kelard apprécie ceci.
  6. Kelard

    Kelard Active Member
    MEMBRE WX

    Inscrit:
    Avr 6, 2018
    Messages:
    103
    J'aime reçus:
    134

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Code (Text):
    VAR_TABLEAU_1 est un tableau de chaînes


    POUR TOUT REQ1
        majtableau(REQ1.VALEUR)
    FIN
    POUR TOUT REQ2
        majtableau(REQ2.VALEUR)
    FIN

        PROCEDURE INTERNE majtableau(mavaleur)
        SI TableauCherche(VAR_TABLEAU_1,tcLinéairePremier,mavaleur) = -1 ALORS
            Ajoute(VAR_TABLEAU_1,mavaleur)
        FIN
        FIN
    Je préfère ceci
    Cliquez pour agrandir...
    En effet, c'est le traitement optimisé si il n'a pas besoin des deux tableaux d’origines. :)
     
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    657
    J'aime reçus:
    232

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    En effet, c'est le traitement optimisé si il n'a pas besoin des deux tableaux d’origines. :)
    Cliquez pour agrandir...

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , j'ai juste refais ton code
     
  • Fouedusa

    Fouedusa Active Member

    Inscrit:
    Avr 22, 2018
    Messages:
    141
    J'aime reçus:
    120
    Bonjour;
    Est-ce que les valeurs des tableaux sont distinctes ??

    Exemple :
    Tableau1 contient les valeurs : 1 - 1 - 1 - 1 - 1 - 1
    Tableau2 contient les valeurs : 1 - 1 - 2 - 2 - 1 - 2

    et quel est le résultat voulu ?

    Exemple :
    Tableau3 contient seulement la valeur : 2
    Tableau3 contient les valeurs : 2 - 2 - 2

    Bon Dev.
     
  • Partager cette page

    Chargement...