comparer une colonne présente dans plusieurs fichiers

  • Initiateur de la discussion Initiateur de la discussion dehlio
  • Date de début Date de début

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 !

D

dehlio

Guest
Bonjour,

Comme je vois que les problèmes restent rarement sans solution sur ce forum, j'en profite pour exposer quelque chose que j'ai du mal à réaliser.

J'ai mis en pièces jointes un ensemble de fichiers pour aider à comprendre mon cas.

Je reçois une fois par semaine un fichier du type "fichier 1.xls", "fichier 2.xls" et "fichier 3.xls". Ces trois fichiers représentant 3 semaines différentes. A noter que la structure est la même à chaque fois avec la colonne C comme clé primaire (Référence).

J'aimerais de manière automatique (le mot magique) arriver à regrouper dans un même classeur et pour plusieurs références la colonne U de chaque fichier (1, 2 et 3). Le fichier "Comparatif.xls" montre la cible de ce que je souhaite visualiser et comparer.

Dans cet exemple il y a trois fichiers à comparer mais est-il possible de l'étendre à plus?

J'espère que c'est clair et vous remercie d'avance pour vos pistes...

A ++
 

Pièces jointes

Re : comparer une colonne présente dans plusieurs fichiers

Bonjour Dehlio,

voici un code trouvé sur le site de Jacques Boisgontier Formation Excel VBA JB et qui correspond au début de ta demande
J'aimerais de manière automatique (le mot magique) arriver à regrouper dans un même classeur
Code:
[B]Synthèse de plusieurs classeurs (vendeur1.xls,vendeur2.xls,....dans un seul)[/B]
 
Sur cet exemple, nous consolidons plusieurs classeurs d'un répertoire ayant un nom générique [B]Vendeurxxx.xls[/B] dans un seul classeur.
Sub consolideClasseurs()
  ChDir ActiveWorkbook.Path
  Set classeurMaitre = ActiveWorkbook
  sup
  nf = Dir("vendeur*.xls")
  Do While nf <> ""
      Workbooks.Open Filename:=nf
      Sheets(1).Copy After:=classeurMaitre.Sheets(classeurMaitre.Sheets.Count)
      classeurMaitre.Sheets(classeurMaitre.Sheets.Count).Name = nf
      Workbooks(nf).Close False
      nf = Dir     ' classeur suivant
  Loop
  Sheets(1).Select
End Sub
Sub sup()
  Application.DisplayAlerts = False
  If Sheets.Count > 1 Then
    Sheets("Accueil").Move before:=Sheets(1)
    Sheets(2).Select
    For i = 2 To Sheets.Count
      ActiveSheet.Delete
    Next i
  End If
End Sub

à+
Philippe
 
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Fonction si
Réponses
7
Affichages
218
Retour