Mise en forme puis comparaison 2 colonnes
Bonjour à tous,
J'aurais besoin d'un gros coup de pouce.
Chaque mois je fais une extraction de données, que je dois mettre en page puis comparer mes données à celles d'une autre extraction.
Mon besoin est donc le suivant : créer une macro pour mettre en page automatiquement mon extraction, puis comparer les articles et quantités des 2 extractions, et faire ressortir les écarts (en rouge par exemple).
Je vous joins un exemple de fichier.
Petites info sur le fichier :
Feuil1 l'extraction de ma collègue (pas besoin d'y toucher) : les données qui m’intéresses sont les colonnes A et F
Feuil2 mon extraction brut
Ex MEP : c'est la façon dont je met en page manuellement (cette mise en page se trouve donc habituellement en feuille 2) : je ne garde que les ligne dont l'article commence par E et l'intitulé des colonnes.
TCD : le TCD que je fais pour comparer manuellement les infos.
Quelqu'un pourrait-il m'expliquer comment faire svp?
Merci d'avance pour votre aide précieuse.
Bonjour Aurélie,
voici déjà pour la préparation de ton extraction...
Pour les TCD avec lesquels je n'ai encore jamais joué, ce sera peut-être pour une prochaine étape!
Une chose à faire avant de lancer la macro par double-clic sur la feuille brute : supprimer les lignes supérieures pour laisser la ligne des intitulés de colonne en première ligne.
Ici, pour le test, la macro livre le résultat de son calcul dans 'Extract'.
'
Dim tData, tSplit, tExt()
'
tData = UsedRange
For x = 1 To UBound(tData)
tSplit = Split(tData(x, 1), Chr(124))
If x = 1 Then iLen = UBound(tSplit)
iIdx = iIdx + 1
ReDim Preserve tExt(iLen, iIdx)
For y = 0 To UBound(tSplit) - 1
tExt(y, iIdx - 1) = tSplit(y)
Next
Next
'
Application.ScreenUpdating = False
'
With Worksheets("Extract")
.Range("A1").Resize(iIdx, iLen) = WorksheetFunction.Transpose(tExt)
iCol = .Rows(1).Find(what:="Article", lookat:=xlPart).Column
iRow = .Cells(Rows.Count, iCol).End(xlUp).Row
For x = iRow To 2 Step -1
If Left(.Cells(x, iCol), 1) <> "E" Then .Rows(x).Delete shift:=xlUp
Next
.Activate
End With
'
Application.ScreenUpdating = True
'A+
Merci beaucoup pour cette macro. C'est exactement ce que je souhaitais pour la mise en page
Il ne me reste plus qu'à me gratter la tête pour le comparatif.
Merci encore