comparer 2 tableaux excel

angelo2006

XLDnaute Nouveau
Bonjour,

j'ai deux tableaux excel dans le meme fichier.

le 1er contient par exemple tous les nom des eleves avec bien sur le moyen et d'autre info.

et le dexieme contient uniuement le nom des eleves qui ont reussie l'examen.

est ce que il ya une methode ou une fonction qui me permet de faire un 3eme tableau là ou je peux extaire les les nom des eleves qui n'ont pas reussie.

Merci d'avance.
 

porcinet82

XLDnaute Barbatruc
Re : comparer 2 tableaux excel

Hello,

Voici le code de la macro avec quelques commentaires.
Code:
Sub Test()
Dim tablo1(1 To 4) 'Dimension du tableau Accessoires vendu (4 lignes = 4 années)
Dim tablo2(1 To 12, 1 To 4) 'Dimension d'un tableau contenant au maximum 12 lignes et 4 colonnes (i.e. le max d'infos contenu dans le talbeau Mon stock)
Dim i As Byte, k As Byte
Dim bool As Boolean


x = 1
For k = 1 To UBound(tablo1)
    tablo1(k) = Cells(k + 18, 2).Value 'Ici on boucle sur les données du tableau tablo1 c'est à dire Accessoires vendu.
    'Les coordonnées du tableau sont ligne 18 et colonne 2 (i.e. colonne B), donc potentiellement à modifier
Next k


For i = 4 To 15 'Ici on boucle sur les données du tableau tablo1 c'est dire Mon stock (de la ligne 4 à la ligne 15
    For k = 1 To UBound(tablo1) 'On boucle sur les données de tablo1
        If Not tablo1(k) = Cells(i, 2).Value Then bool = True Else: bool = False: Exit For
        'On regarde si le serial number (tablo1) est égal ou non au contenu au contenu des données du tableau Mon stock
        'Si ce n'est pas égal on met le booleen = vrai, sinon à faux
    Next k
    If bool = True Then 'Si le booleen = Vrai (i.e. que l'année dans le tableau Accessoires vendu n'est pas dans le talbeau Mon stock
        'Alors on stock les infos du tableaux Mon stock dans le tableaux tablo2
        tablo2(x, 1) = Cells(i, 2).Value
        tablo2(x, 2) = Cells(i, 3).Value
        tablo2(x, 3) = Cells(i, 4).Value
        tablo2(x, 4) = Cells(i, 5).Value
        x = x + 1
        bool = False
    End If
Next i


For i = 1 To UBound(tablo2)
    For k = 1 To UBound(tablo2, 2)
        Cells(i + 26, k + 1) = tablo2(i, k) 'On affiche le résultat sur la feuille à partir de la ligne 27 (i+26) colonne 2 (k+1)
    Next k
Next i
End Sub

En gros, il faut que tu modifies les endroits ou dans le commentaire je fais mention de numéro de lignes/colonnes.
Si ce n'est pas clair, n'hésite pas a refaire signe avec un exemple de ton fichier, je te modifierai le code. Ainsi tu pourras constater les modifs de code entre les 2 fichiers et ça sera peut être plus intuitif pour toi de comprendre.

@+
 

Discussions similaires

Réponses
16
Affichages
564

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 519
dernier inscrit
Thomas_grc11