XL 2019 comparaison entre deux table et incrémentation

ILOVEUBB

XLDnaute Occasionnel
salut les amis

comme je métrise pas le VBA je vient demandé votre aide svp
voila j'ai deux table Excel feuil1 et feuil2 les deux table sont identiques.
la première table contient 03 colonnes MATRICULE - MONTANT - OBS.
la deuxième table contient 02 colonne MATRICULE - MONTANT.
sauf que le MATRICULE de la deuxième table est consolider mais pas dans la première table
le bute c'est de faire une comparaison entre les deux table par MATRICULE et si on trouve que le MONTANT de la deuxième table est diffèrent de 0 alors ont incrément le contenu de la colonne OBS de la première table de +1

merci pour votre aide
 

Pièces jointes

  • comparaison.xlsx
    44.2 KB · Affichages: 14

Wayki

XLDnaute Occasionnel
Salut,
Il est très simple dans mon code d'inverser sa marche.
Le test se fait de la feuille 2 vers la 1 c'est pour ça que ça marche qu'une fois.
Il faut dans le code inverser les lignes de worksheets(2) et worksheets(1), essentiellement dans la boucle for each.
Je n'ai plus le temps maintenant, si tu n'y arrive pas sans doute un membre du forum s'en occupera.
Tu n'y arrivera sans doute pas du premier coup, mais faut pas baisser les bras 😉
Bon courage 😊
 
Dernière édition:

ILOVEUBB

XLDnaute Occasionnel
merci Wayki pour ton aide mais depuis ce matin je me casse la tète o_Oo_O est toujours rien.

problème pas résolu :(:(
Salut,
Il est très simple dans mon code d'inverser sa marche.
Le test se fait de la feuille 2 vers la 1 c'est pour ça que ça marche qu'une fois.
Il faut dans le code inverser les lignes de worksheets(2) et worksheets(1), essentiellement dans la boucle for each.
Je n'ai plus le temps maintenant, si tu n'y arrive pas sans doute un membre du forum s'en occupera.
Tu n'y arrivera sans doute pas du premier coup, mais faut pas baisser les bras 😉
Bon courage 😊
merci Wayki pour ton aide mais depuis ce matin je me casse la tète o_Oo_O est toujours rien.

problème pas résolu :(:(
 

ILOVEUBB

XLDnaute Occasionnel
Bonsoir.
Est-ce ça qu'il vo
Bonsoir.
Est-ce ça qu'il vous faut ?
SALUT
désolé de me retourné ver vous mais deux problème son survenu :( :(
le premier : c'est que le nom de la feuille 2 change suivant le mois est la ça ne fonctionne pas.
le deuxième : c'est quand j'insert une colonne dans le tableau de la feuille 1 donc la colonne OBS sera déplacé est la ça ne fonctionne pas aussi !

une piste ou une aide généreuse 🙏
 

Dranreb

XLDnaute Barbatruc
Je n'utilise pas les noms des feuilles mais celui des objets Worksheet qui les représentent.
Cette version tient compte de l'intitulé "OBS" de la colonne du tableau :
Code:
Option Explicit
Sub FusionIncrémentation()
   Dim LOt As ListObject, CObs As Integer, TRés(), Matr As SsGr, Détail, _
      Incrément As Integer, L As Long, C As Integer
   Set LOt = Feuil1.ListObjects(1)
   CObs = LOt.ListColumns("OBS").Index
   ReDim TRés(1 To LOt.ListRows.Count, 1 To LOt.ListColumns.Count)
   For Each Matr In Gigogne(TableUnique(Feuil2.[A2:B2], LOt), 1)
      Incrément = 0
      For Each Détail In Matr.Co
         If Détail(0) = 1 Then
            L = L + 1
            TRés(L, 1) = Matr.Id
            For C = 2 To UBound(TRés, 2): TRés(L, C) = Détail(C): Next C
            TRés(L, CObs) = Détail(CObs) + Incrément
         ElseIf Détail(2) <> 0 Then
            Incrément = 1
            End If: Next Détail, Matr
   LOt.DataBodyRange.Value = TRés
   End Sub
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Curieux quand même qu'à aucun moment vous ne demandiez à ce que soit vérifié que le montant de l'autre feuille à prendre en compte, quelle qu'elle doive être selon précisions de votre part, soit égal à la somme des montants de l'entité Excel actuellement nommée "Feuil1" mais toujours représentée par l'objet VBA de type Worksheet nommé Feuil1, quel que soit ce nom de feuille …
 

ILOVEUBB

XLDnaute Occasionnel
Bonjour.
Curieux quand même qu'à aucun moment vous ne demandiez à ce que soit vérifié que le montant de l'autre feuille à prendre en compte, quelle qu'elle doive être selon précisions de votre part, soit égal à la somme des montants de l'entité Excel actuellement nommée "Feuil1" mais toujours représentée par l'objet VBA de type Worksheet nommé Feuil1, quel que soit ce nom de feuille …
salut
je ne c'est pas comment vous remercier . vous m'avez sauvé .mille merci a vous est que dieu vous protège.

effectivement c'est bien la somme des montants de l'entité Excel actuellement nommée "Feuil1" .

l'idée c'est de réalisé un fichier Excel qui peut être géré facilement par le responsable de la structure.
voila en effet le projet c'est pour la gestion des œuvres sociale d'une entreprise plus précisément la gestion des bon d'achat pour les travailleurs produit électroménager chaque objet est la mensualité de remboursement , le montant mensuelle est le reste , le projet a était divisé en 2 partie.

alors si vous avais des idées de votre part pour me facilité la tache je serais très reconnaissent

encore mille merci pour votre aides.:)
 

Discussions similaires

Statistiques des forums

Discussions
290 755
Messages
1 910 209
Membres
176 538
dernier inscrit
Charlydebutant
Haut Bas