Incompatibilité du type au niveau de la fonction "Transpose"

Bonjour;

Voilà mon problème : j'ai deux fichiers excel très volumineux (environ 10 000 lignes chacun). J'aimerais extraire les lignes différentes entre les deux fichiers. Sachant que je ne suis pas très doué en excel, comment puis-je m'y prendre

j'ai trouvé le code suivant mais ça donne une erreur lors de la compilation au niveau de la fonction Transpose(DicoF2.keys).

Merci d'avance

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

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)[/I][/I]

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

Range("A1:C1").AutoFilter

ActiveSheet.Range("A1:C" & DerLigF1).AutoFilter Field:=3, Criteria1:="Ecart"

End Sub

Bonjour et bienvenue sur le forum

Tu devrais joindre tes 2 fichiers.

S'ils sont trop gros pour le téléchargement, passe par www.cjoint.com. Tu obtiendras un lien par fichier qu'il te suffira de coller dans ton message.

Bye !

Rechercher des sujets similaires à "incompatibilite type niveau fonction transpose"