XL 2016 VBA Synthèse Classeur Volumineux + Comparaison

scalaze

XLDnaute Nouveau
Bonjour,

J'ai 2 classeurs composés de plusieurs onglets avec données de +- 5000 mille lignes.
Je souhaite réaliser une feuille Regroupement de ses feuilles pour chaque classeur.
Je n'ai pas vraiment de connaissance en VBA mais après lecture sur ce forum , j ai trouvé ce code qui correspond à ma première demande mais il ne prend qu'une partie de mes onglet avec un temps assez long puis un message d'erreur apparait j = Wd.Range("A" & Rows.Count).End(xlUp).Row + 1.

VB:
Option Explicit

Sub Transfert()
Dim Ws As Worksheet, Wd As Worksheet, Dl%, i%, j%
Application.ScreenUpdating = False
Range("A2:F65000").Clear

Set Wd = Sheets("regroupement")
j = Wd.Range("A" & Rows.Count).End(xlUp).Row + 1
  For Each Ws In Worksheets
    If Ws.Name <> "regroupement" And Ws.Name <> "exclure" Then
    Sheets(Ws.Name).Activate
    Set Ws = Sheets(Ws.Name)
    Dl = Ws.Range("A" & Rows.Count).End(xlUp).Row
      For i = 2 To Dl
          Wd.Cells(j, 1).Value = Ws.Name
          Ws.Range(Cells(i, 1), Cells(i, 5)).Copy Wd.Cells(j, 2)
          j = Wd.Range("A" & Rows.Count).End(xlUp).Row + 1
      Next i
      End If
  Next Ws
  Sheets("regroupement").Activate
  Range("A2").Select
  Application.ScreenUpdating = True
End Sub


Mon projet initial est de comparer les Envoi Général avec mon classeur Vente Général et inversement.
Tous les mois, je reçois un fichier de ventes que je colle à mon classeur Vente Général pour effectuer le regroupement.
Tous les mois, j'extrais mes envois que je colle à mon classeur Envoi Général pour effectuer aussi le regroupement.

Mes ventes peuvent être réalisé le mois en cours ou ultérieur à +4 mois.

Mes 2 classeurs ne sont pas constitués de la même manière mais ont la même Donnée Ref2 à comparer sur la même colonne C

Le but ,comparer la colonne C - Ref2 de Envoi par rapport à Ventes , et généré une feuille récapitulatif des références non présente.
et inversement pour voir si il n'y a pas de doublon dans la synthèse vente.

Je ne sais pas si c est la bonne méthode ou le bon code pour mon projet, d'ailleurs, je compte sur vous pour me le dire.

En espérant avoir été clair dans mes écrits .

Mes fichiers étant trop volumineux ,je les ai compressé.

Je vous remercie par avance pour votre lecture et aide futur

Bien cordialement,


PS: Je travaille sur Excel 2016 mais mes collègues sur 2010
 

Pièces jointes

  • Envoi General reduit.zip
    874.4 KB · Affichages: 32
  • Vente General Test reduit.zip
    975.2 KB · Affichages: 11

cp4

XLDnaute Barbatruc
Bonsoir,

Pour Envoi général --> Erreur D'exécution 6 : Dépassement de capacité
1611515863381.png

Remplace i As Integer par i As Long et ça sera bon. C'est normal que tu aies un dépassement de capacité car integer est limité à 32 767. Le total des lignes de toutes les feuilles doit surement être.

Pour le reste, par trop de temps en ce moment et j'ai bien peur que la rapidité va en pâtir.
Bonne soirée.
 

scalaze

XLDnaute Nouveau
Bonjour Cp4

Apres modification faite ,le code fonctionne parfaitement.

Pour la partie " Doublon" ,comme je regroupe mes données, il me suffiras de les filtrer par ordre de grandeur et j'aurais mes références en doublon pour recherche,
il devrait en avoir très ,très peu ;)

Je vais voir pour la partie Access et PowerQuery

En tout cas MERCI pour l'aide apporté et ta patience 👍.

Cdt
 

Discussions similaires

Réponses
7
Affichages
292
Réponses
5
Affichages
365
Réponses
4
Affichages
165

Statistiques des forums

Discussions
311 723
Messages
2 081 932
Membres
101 844
dernier inscrit
pktla