XL 2013 comparaison de listes

ivan27

XLDnaute Occasionnel
Bonjour à tous,
Je souhaiterais comparer des données de deux classeurs et récupérer des données dans un troisième classeur pour faire un calcul :
Si dans les classeurs STT1 et STT2 les numéros de la colonne A sont identiques et les montants de la colonne B sont différents, je récupère dans un troisième classeur la ligne correspondante de STT1.
Je récupère dans le troisième classeur en colonne G le montant STT2 et je calcule l'écart en colonne H.
Je souhaiterais faire cette manipulation alors que les classeurs STT1 et STT2 sont fermés.
Chaque classeur fait entre 70 et 100000 lignes.
Merci pour votre aide.
Ivan
 

Pièces jointes

  • test.zip
    24.9 KB · Affichages: 53

ivan27

XLDnaute Occasionnel
Bonsoir le forum, Gosselien,
Si j'ai les 2 classeurs dans un répertoire sans avoir à m'en occuper, c'est mieux...
Si tu as une proposition en regroupant tous les classeurs en un seul, je pends quand même.
Le contenu de SST1 en feuille 1
Le contenu de SST2 en feuille 2
et mon extraction sur une troisième feuille.
Merci d'avance.
Ivan
 

ivan27

XLDnaute Occasionnel
Re bonsoir,
Je n'ai qu'un Mac sous la main avec lequel Dictionnary pose des problèmes.
J'essaierai demain au boulot avec Windows et excel 2013.
Par contre, j'ai une première observation. Je remarque dans ton code des limitations à 65000 lignes mais j'en aurai souvent plus.
Je te tiens au courant du résultat de mes essais demain.
Bonne soirée
Ivan
 

ivan27

XLDnaute Occasionnel
Bonjour le forum, Gosselien,

J'ai un problème de fonctionnement.
J'ai téléchargé les trois fichiers sans les renommer. Ils sont tous dans le même répertoire
La macro "commun" génère une erreur 1004 (fichier stt1.xlsx non trouvé)

La macro "difference3" génère une erreur 450 et bloque sur la ligne suivante au débogage :
D2() = Tblo(I, 2) & "/" & Tblo(I, 3) & "/" & Tblo(I, 4) & "/" & Tblo(I, 5) & "/" & Tblo(I, 6)

J'ai fait des essais avec les classeurs stt1 et stt2 ouverts et fermés.

Cordialement,
Ivan
 

ivan27

XLDnaute Occasionnel
Re bonjour à tous,
Je lance bien le module 2. Les dossiers sont tous dans le même répertoire et ouverts.
Cdlt,
Ivan
1004.JPG
Code.JPG
 

gosselien

XLDnaute Barbatruc
Le "chemin" indique l'endroit du fichier "différences.xslm" mais je ne l'ai pas mis dans l'ouverture des 2 autres :)
comme ceci:


Chemin = ActiveWorkbook.Path
Workbooks.Open Chemin & "\" & "STT1.xlsx": Workbooks.Open Chemin & "\" & "STT2.xlsx"


P.
 
Dernière édition:

ivan27

XLDnaute Occasionnel
Re bonsoir à tous,

On avance. J'ai cependant un problème avec le résultat.
Seules des données de SST1 sont récupérées sur la feuille 1 et rien sur la feuille 2.
Il y a également un problème avec des colonnes qui sont dupliquées (voir le classeur joint)
Bonne soirée
Ivan
 

Pièces jointes

  • DIFFERENCES.xlsm
    22.6 KB · Affichages: 51

gosselien

XLDnaute Barbatruc
J'ai mal compris ta phrase alors ? (mon neurone fatigue de + en + vite)
Pour mettre en feuille2 : Set Ws3 = Wb3.Sheets("Feuil2")

"Si dans les classeurs STT1 et STT2 les numéros de la colonne A sont identiques et les montants de la colonne B sont différents, je récupère dans un troisième classeur la ligne correspondante de STT1."

Remplace ceci:
' D2(Tmp & "¦" & C.Offset(, 1) & "¦" & C.Offset(, 2) & "¦" & C.Offset(, 3) & "¦" & C.Offset(, 4) & _
' "¦" & C.Offset(, 5) & "¦" & C.Offset(, 6)) = "" ' ajout des autres data

par :
D2(Tmp & "¦" & C.Offset(, 3) & "¦" & C.Offset(, 4) & "¦" & C.Offset(, 5) & "¦" & C.Offset(, 6)) = ""
 
Dernière édition:

ivan27

XLDnaute Occasionnel
Re bonsoir Gosselien,
Tu as bien compris mais après l'extraction, les colonnes B et D ainsi que C et E sont identiques dans ta proposition.
Il manque ensuite la partie "Je récupère dans le troisième classeur en colonne G le montant STT2 et je calcule l'écart en colonne H"
Cdlt
Ivan
 

gosselien

XLDnaute Barbatruc
re,

je ne saurai pas ces prochains jours retravailler dessus, mais il y a eu plusieurs personnes qui l'ont chargé et qui sauront t'aider j'espère; je suivrai le fil surtout qu'il y a bien plus fort en vba donc ça devrait aller :)

P.
 

Discussions similaires

Réponses
45
Affichages
1 K

Statistiques des forums

Discussions
312 318
Messages
2 087 209
Membres
103 493
dernier inscrit
Vidal Salvador