XL 2016 Une formule de comparaison

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ImenH

XLDnaute Nouveau
Je cherche une formule ou bien une application pour faire la comparaison entre ces deux tableaux , et me faire sortir le décalage en matière et quantité.

J'ai besoin d'un coup de main et Merci d'avance

Tableau1
produitquantité
x12
y3
z4
Tableau2
produitquantité
y4
z4
A3
Résultat souhaité

y+1
zidentique
xmanquant
Anouveau +4
 
Solution
Bonjour ImenH, JHA,

bienvenue sur le site XLD ! 🙂

je te propose le fichier Excel joint ci-dessous.

fais Ctrl e ➯ travail effectué ! 😊

VB:
Option Explicit

Sub Essai()
  Dim cel As Range, pdt$, qt1%, qt2%, m&, n&, i&, j&
  m = Rows.Count: n = Cells(m, 7).End(3).Row: j = 2
  Application.ScreenUpdating = 0
  If n > 1 Then Range("G2:H" & n) = Empty
  n = Cells(m, 1).End(3).Row
  For i = 2 To n
    pdt = Cells(i, 1): Cells(j, 7) = pdt
    Set cel = Columns(4).Find(pdt, , -4163, 1, 1)
    If Not cel Is Nothing Then
      qt1 = Cells(i, 2): qt2 = cel.Offset(, 1)
      Cells(j, 8) = IIf(qt1 = qt2, "identique", Format(qt2 - qt1, "+0;-0"))
    Else
      Cells(j, 8) = "manquant"
    End If
    j = j + 1
  Next i
  n =...
Bonjour à tous,

Dommage que ce soit moi qui réalise le fichier excel
Format de nombe en B14:B17
Code:
[=0]"Identique";0
Formule à essayer en B14
VB:
=SI(ESTNUM(EQUIV($A14;$A$8:$A$10;0));SI(ESTNUM(EQUIV($A14;$A$3:$A$5;0));INDEX($B$8:$B$10;EQUIV($A14;$A$8:$A$10;0))-INDEX($B$3:$B$5;EQUIV($A14;$A$3:$A$5;0));"Nouveau +"&INDEX($B$8:$B$10;EQUIV($A14;$A$8:$A$10;0)));"Manquant")

JHA
 

Pièces jointes

Bonjour ImenH, JHA,

bienvenue sur le site XLD ! 🙂

je te propose le fichier Excel joint ci-dessous.

fais Ctrl e ➯ travail effectué ! 😊

VB:
Option Explicit

Sub Essai()
  Dim cel As Range, pdt$, qt1%, qt2%, m&, n&, i&, j&
  m = Rows.Count: n = Cells(m, 7).End(3).Row: j = 2
  Application.ScreenUpdating = 0
  If n > 1 Then Range("G2:H" & n) = Empty
  n = Cells(m, 1).End(3).Row
  For i = 2 To n
    pdt = Cells(i, 1): Cells(j, 7) = pdt
    Set cel = Columns(4).Find(pdt, , -4163, 1, 1)
    If Not cel Is Nothing Then
      qt1 = Cells(i, 2): qt2 = cel.Offset(, 1)
      Cells(j, 8) = IIf(qt1 = qt2, "identique", Format(qt2 - qt1, "+0;-0"))
    Else
      Cells(j, 8) = "manquant"
    End If
    j = j + 1
  Next i
  n = Cells(m, 4).End(3).Row
  For i = 2 To n
    pdt = Cells(i, 4): Set cel = Columns(1).Find(pdt, , -4163, 1, 1)
    If cel Is Nothing Then
      Cells(j, 7) = pdt: Cells(j, 8) = "nouveau ; " & Cells(i, 5): j = j + 1
    End If
  Next i
End Sub

si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis. 😉

soan
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
20
Affichages
732
Réponses
3
Affichages
457
Retour