Extraire différence entre deux fichiers excel
Fermé
lukilelillois
Messages postés
6
Date d'inscription
vendredi 20 mai 2016
Statut
Membre
Dernière intervention
23 mai 2016
-
20 mai 2016 à 12:25
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 23 mai 2016 à 19:40
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 23 mai 2016 à 19:40
A voir également:
- Extraire différence entre deux fichiers excel
- Extraire une video youtube - Guide
- Liste déroulante excel - Guide
- Fusionner deux fichiers excel - Guide
- Si et excel - Guide
- Extraire son video - Guide
3 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
22 mai 2016 à 04:13
22 mai 2016 à 04:13
Bonjour
Voici une proposition.
Cliquez sur le lien suivant, puis clic droit sur le lien proposé et sélectionnez "Enregistrer la cible du lien sous "
https://www.cjoint.com/c/FEwb4IYMIsw
Ouvrez le fichier,
Cliquez sur le bouton "Comparer 2 classeurs"
Une fenêtre s'ouvre: sélectionnez votre premier fichier
La fenêtre s'ouvre à nouveau: sélectionnez le deuxième fichier
Patientez quelques secondes
Le contenu des 2 classeurs est recopié et les lignes en écart sont filtrées dans les colonnes A et B
Si chaque classeur comporte plusieurs colonnes à comparer, la recopie de toutes ces colonnes est concentrée dans la même cellule.
A tester
Cdlt
Voici une proposition.
Cliquez sur le lien suivant, puis clic droit sur le lien proposé et sélectionnez "Enregistrer la cible du lien sous "
https://www.cjoint.com/c/FEwb4IYMIsw
Ouvrez le fichier,
Cliquez sur le bouton "Comparer 2 classeurs"
Une fenêtre s'ouvre: sélectionnez votre premier fichier
La fenêtre s'ouvre à nouveau: sélectionnez le deuxième fichier
Patientez quelques secondes
Le contenu des 2 classeurs est recopié et les lignes en écart sont filtrées dans les colonnes A et B
Si chaque classeur comporte plusieurs colonnes à comparer, la recopie de toutes ces colonnes est concentrée dans la même cellule.
A tester
Cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
23 mai 2016 à 09:26
23 mai 2016 à 09:26
Bonjour
Avez-vous la réponse à mon problème ? Peut-être! Pour cela il faudrait que je dispose d'un échantillon des 2 fichiers pour que je vois comment ils sont faits.
Déposez sur cjoint.com un extrait de vos 2 fichiers (sans données confidentielles) . Quelques lignes suffisent.
Pour déposer un fichier en pièce jointe
aller "www.cjoint.com"
-clic sur "parcourir"
-sélectionnez le fichier à envoyer
-clic sur "créer le lien Cjoint" (bouton en bas)
-clic droit sur le lien proposé, et sélectionnez "copier l'adresse du lien"
-sur votre nouvelle demande CCM, -clic droit coller
Répétez l'opération pour y déposer le 2ème fichier.
Cdlt
Avez-vous la réponse à mon problème ? Peut-être! Pour cela il faudrait que je dispose d'un échantillon des 2 fichiers pour que je vois comment ils sont faits.
Déposez sur cjoint.com un extrait de vos 2 fichiers (sans données confidentielles) . Quelques lignes suffisent.
Pour déposer un fichier en pièce jointe
aller "www.cjoint.com"
-clic sur "parcourir"
-sélectionnez le fichier à envoyer
-clic sur "créer le lien Cjoint" (bouton en bas)
-clic droit sur le lien proposé, et sélectionnez "copier l'adresse du lien"
-sur votre nouvelle demande CCM, -clic droit coller
Répétez l'opération pour y déposer le 2ème fichier.
Cdlt
lukilelillois
Messages postés
6
Date d'inscription
vendredi 20 mai 2016
Statut
Membre
Dernière intervention
23 mai 2016
23 mai 2016 à 09:33
23 mai 2016 à 09:33
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
23 mai 2016 à 10:19
23 mai 2016 à 10:19
Voilà, remplacez le code précédent par celui-ci
Sub ExtractionDifférence() Application.ScreenUpdating = False Set f1 = ThisWorkbook OuvrirFichier1: Fichier1 = Application.GetOpenFilename(filefilter:="tout,*.*", Title:="Sélection") If Fichier1 = False Then MsgBox "aucun fichier sélectionné", vbOKOnly + vbCritical, "fin de procédure " Exit Sub End If ThisWorkbook.FollowHyperlink Fichier1 Fichier1 = ActiveWindow.Caption OuvrirFichier2: Fichier2 = Application.GetOpenFilename(filefilter:="tout,*.*", Title:="Sélection") If Fichier2 = False Then MsgBox "aucun fichier sélectionné", vbOKOnly + vbCritical, "fin de procédure " Exit Sub End If If Fichier1 = Fichier2 Then MsgBox "Ce ficier est déjà ouvert" GoTo OuvrirFichier2 End If ThisWorkbook.FollowHyperlink Fichier2 Fichier2 = ActiveWindow.Caption f1.Activate Set F2 = Windows(Fichier1) Set F3 = Windows(Fichier2) ActiveSheet.AutoFilterMode = False Columns("A:C").ClearContents Set DicoF2 = CreateObject("Scripting.Dictionary") Set DicoF3 = CreateObject("Scripting.Dictionary") F2.Activate Sheets(1).Activate DerLigF2 = Sheets(1).Cells.Find("*", , , , xlByColumns, xlPrevious).Row DerColF2 = Sheets(1).Cells.Find("*", , , , xlByColumns, xlPrevious).Column For Each C In Range("A2:A" & DerLigF2) For i = 1 To DerColF2 If Cells(C.Row, i) = "" Then ValCell = "£" Else ValCell = Cells(C.Row, i) & "£" X = X & ValCell Next i DebC = C C = X DicoF2.Add C, "" C = DebC X = "" Next C Cdlt f1.Activate [A2].Resize(DicoF2.Count) = Application.Transpose(DicoF2.keys) F3.Activate Sheets(1).Activate DerLigF3 = Sheets(1).Cells.Find("*", , , , xlByColumns, xlPrevious).Row DerColF3 = Sheets(1).Cells.Find("*", , , , xlByColumns, xlPrevious).Column For Each C In Range("A2:A" & DerLigF3) For i = 1 To DerColF3 If Cells(C.Row, i) = "" Then ValCell = "£" Else ValCell = Cells(C.Row, i) & "£" X = X & ValCell Next i DebC = C C = X DicoF3.Add C, "" C = DebC X = "" Next C f1.Activate [B2].Resize(DicoF3.Count) = Application.Transpose(DicoF3.keys) DerLigF1 = Application.WorksheetFunction.Max(DerLigF2, DerLigF3) Range("C2:C" & DerLigF1).FormulaR1C1 = "=IF(RC[-2]=RC[-1],"""",""Ecart"")" Range("A1") = Fichier1 Range("B1") = Fichier2 Range("C1") = "'Test" Columns("A:B").Select Selection.EntireColumn.AutoFit Selection.Replace What:="£", Replacement:=" ", LookAt:=xlPart For i = 1 To 10 Cells.Replace What:=" ", Replacement:=" ", LookAt:=xlPart Next i Range("A1:C1").AutoFilter ActiveSheet.Range("A1:C" & DerLigF1).AutoFilter Field:=3, Criteria1:="Ecart" End Sub
lukilelillois
Messages postés
6
Date d'inscription
vendredi 20 mai 2016
Statut
Membre
Dernière intervention
23 mai 2016
23 mai 2016 à 10:58
23 mai 2016 à 10:58
Désolé, toujours le même problème, tous les écarts avec les gros fichiers. Et je n'arrive pas à comparer mes nouveaux fichiers avec les colonnes "nom" seules.
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
>
lukilelillois
Messages postés
6
Date d'inscription
vendredi 20 mai 2016
Statut
Membre
Dernière intervention
23 mai 2016
23 mai 2016 à 11:15
23 mai 2016 à 11:15
Mettez-moi des exemples qui ne marchent pas
lukilelillois
Messages postés
6
Date d'inscription
vendredi 20 mai 2016
Statut
Membre
Dernière intervention
23 mai 2016
23 mai 2016 à 11:19
23 mai 2016 à 11:19
"Cdlt" : "erreur de compilation : Sub ou Function non définie"
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
>
lukilelillois
Messages postés
6
Date d'inscription
vendredi 20 mai 2016
Statut
Membre
Dernière intervention
23 mai 2016
23 mai 2016 à 11:24
23 mai 2016 à 11:24
Cdlt = cordialement, que vous avez recopiez en fin de programme , effacez .
La dernière ligne du programme doit être END SUB
La dernière ligne du programme doit être END SUB
lukilelillois
Messages postés
6
Date d'inscription
vendredi 20 mai 2016
Statut
Membre
Dernière intervention
23 mai 2016
23 mai 2016 à 16:02
23 mai 2016 à 16:02
Maintenant c'est "DicoF2.Add C, "" " qui coince
23 mai 2016 à 09:01
tout d'abord, merci beaucoup pour votre aide !!
Effectivement, ça marche. Néanmoins, comme le fichier ajouter toutes les infos dans la même cellules, j'obtiens un écart à chaque ligne, puisque le fichier contient un grand nombre d'informations, et par exemple l'adresse n'est pas forcément rentrée de la même manière dans les deux classeurs. J'ai essayé de copier-coller les colonnes "nom" sur deux nouveaux fichiers pour obtenir le seul écart sur ces colonnes. Mais, lorsque je charge ces deux nouveaux fichiers créés, j'obtient le message d'erreur suivant : "les liens hypertexte peuvent endommager votre ordinateur et vos données. Pour protéger votre ordinateur, ouvrez uniquement les liens hypertexte de sources fiables. Voulez-vous continuer ?". Si je continu, j'obtient "erreur d'exécution '457' : cette clé est déjà associée à un élement de cette collection".
Avez-vous la réponse à mon problème ?
Merci d'avance.