Bonjour
Difficile de vous fournir le classeur : il s'agit d'un fichier utilisé par notre bureau de production, il contient de nombreuses références à nos produits et à nos process de fabrication. C'est confidentiel.
Par contre, je peux vous donner la macro complète. 
A noter néanmoins que la macro fonctionne parfaitement et rapidement si aucun autre classeur n'est ouvert en même temps. Tout le noeud du problème est là. Je ne dit pas que la macro est parfaite (il y a surement à optimiser), mais il semble bien que ce ne soit pas la macro en elle-même qui pose problème, mais le fait que 2 classeurs soient ouverts en même temps au moment de son execution.
Voici la macro :
Sub OuvrePoint()
'Ouvre le fichier issu du prolab SUIVI DE PRODUCTION
Dim iMax, iMaxFab, iCol, iLIG, iPTR, iMaxSAM As Long
Dim FSO As New FileSystemObject
Dim fic As File
Dim sTmp As String
Dim sName As String
Dim wkb, wkbPoint As Workbook
Dim ws, wsSAM, wsFAB As Worksheet
Dim dDeb, dFin As Date
Dim tbCMD, tbEXT, tbFab, tbSAM As Variant
Dim bFound As Boolean
Dim i, j, k, x As Long
Dim xREP As Variant
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    
    Set wkb = ActiveWorkbook
    sName = ActiveWorkbook.Name
    
    Set fic = FSO.GetFile(cEXTRACT)
        
    Workbooks.OpenText Filename:="\\192.168.62.219\ftp_progi\Extraction.txt", _
        Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 5), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
        Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
        , 1), Array(16, 1), Array(17, 1), Array(18, 2), Array(19, 1), Array(20, 1), Array(21, 1), _
        Array(22, 1), Array(23, 1), Array(24, 1)), DecimalSeparator:=",", TrailingMinusNumbers:=True
    Set wkbPoint = ActiveWorkbook
    Set ws = ActiveSheet
    
    iMax = Range("A65535").End(xlUp).Row
    iCol = Range("A1").End(xlToRight).Column
    ReDim tbCMD(1 To iMax - 1, 1 To iCol)
    tbCMD = Range(Cells(2, 1), Cells(iMax, iCol))           'on saute l'entete
    
    wkb.Sheets("EXTRACTION").Activate
    
    j = Range("A65535").End(xlUp).Row
    'on va chercher si le tableau tbDATA existe et on le modifie ou alors on le crée
    For i = 1 To ActiveSheet.ListObjects.Count
        If ActiveSheet.ListObjects(i).Name = "tbDATA" Then
            ActiveSheet.ListObjects("tbDATA").Resize Range("$A$1:$W$3")
            If j > 3 Then
                Rows("4:" & j).Select
                Selection.ClearContents
                Range("A3").Select
            End If
            Exit For
        End If
    Next i
    Range(Cells(2, 1), Cells(iMax, iCol)) = tbCMD
    Application.CutCopyMode = False
    ActiveSheet.ListObjects("tbDATA").Resize Range("$A$1:$" & Chr(64 + iCol) & "$" & iMax)
        
    
    Application.Goto Reference:="tbDATA"
    ws.Activate
    Set MyRange = Range("B:B")
    dDeb = Application.WorksheetFunction.Min(MyRange)
    dFin = Application.WorksheetFunction.Max(MyRange)
    wkbPoint.Close savechanges:=False
    
''''''
'''''' CONSTRUCTION DE L'ONGLET PLANNING FABRICATION
''''''
    Set wsFAB = wkb.Sheets("Planning Fabrication")
    wsFAB.Activate
    Cells(2, 8) = "Extraction du " & fic.DateLastModified
    Cells(2, 13) = " Départs du " & Format(dDeb, "DD/MM/YYYY") & " au " & Format(dFin, "DD/MM/YYYY")
    iMaxFab = Range("A65535").End(xlUp).Row
    
''''''
'''''' CONSTRUCTION DE L'ONGLET PLANNING SAM
''''''
    Set ws = wkb.Sheets("EXTRACTION")
    Set wsSAM = wkb.Sheets("Planning SAM")
    
    ws.Activate
    iMax = Range("A65535").End(xlUp).Row
    ReDim tbEXT(1 To iMax, 1 To 24)
    tbEXT = Range(Cells(1, 1), Cells(iMax, UBound(tbEXT)))
    
    wsSAM.Activate
    iMaxSAM = Range("A65535").End(xlUp).Row
    ReDim tbSAM(1 To iMax, 1 To 20)
    'reset des cumuls
    If wsSAM.ProtectContents = True Then
        wsSAM.Unprotect Password:="LL"
    End If
    Range("tbSAM[Ventes  France (KG)]").ClearContents
    Range("tbSAM[Ventes Export (KG)]").ClearContents
    tbSAM = Range("tbSAM[#Data]")
    
    iCol = Range("tbDATA[Nature prod.]").Column
    iPTR = 1
    For i = 2 To iMax
        If tbEXT(i, iCol) = "SAM" Then
            'on recherche la ligne dans planning sam, si pas trouvé on l'ajoute dans le tableau
            bFound = False
            For j = 1 To UBound(tbSAM)
                If tbSAM(j, 1) = tbEXT(i, 3) Then
                    bFound = True
                    iLIG = j
                    Exit For
                End If
            Next j
            If Not bFound Then
                xREP = MsgBox("ATTENTION LE CODE " & tbEXT(i, 3) & " n'existe pas dans le planning SAM !!!", vbCritical)
            End If
            If tbEXT(i, 8) = "FRANCE" Then
                wsSAM.Cells(iLIG + 4, 12) = wsSAM.Cells(iLIG + 4, 12) + tbEXT(i, 10) 'QTE CMDE France
            Else
                wsSAM.Cells(iLIG + 4, 13) = wsSAM.Cells(iLIG + 4, 13) + tbEXT(i, 10)   'QTE CMDE Export
            End If
        End If
    Next i
    
    If wsSAM.ProtectContents = False Then
        wsSAM.Protect Password:="LL"
    End If
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    Application.EnableEvents = True
    
' Definition des plages
    ActiveWorkbook.Names("stkSAMSpec").RefersTo = "='Planning SAM'!$K$5:$K$" & iMaxSAM
    ActiveWorkbook.Names("stkSAMFdj").RefersTo = "='Planning SAM'!$S$5:$S$" & iMaxSAM
    ActiveWorkbook.Names("stkSAMSrc").RefersTo = "='Planning SAM'!$F$5:$F$" & iMaxSAM
    ActiveWorkbook.Names("stkSAMSfam").RefersTo = "='Planning SAM'!$D$5:$D$" & iMaxSAM
    ActiveWorkbook.Names("stkSAMPresta").RefersTo = "='Planning SAM'!$E$5:$E$" & iMaxSAM
    ActiveWorkbook.Names("stkSAMLatin").RefersTo = "='Planning SAM'!$G$5:$G$" & iMaxSAM
    ActiveWorkbook.Names("stkSAMEtat").RefersTo = "='Planning SAM'!$C$5:$C$" & iMaxSAM
    ActiveWorkbook.Names("stkSAMCdt").RefersTo = "='Planning SAM'!$J$5:$J$" & iMaxSAM
    ActiveWorkbook.Names("stkSAMCal").RefersTo = "='Planning SAM'!$H$5:$H$" & iMaxSAM
    Sheets("Planning Fabrication").Select
    Range("T5").Select
    'ActiveCell.FormulaR1C1 = _
        "=SUMIFS(stkSAMFdj,'Planning SAM'!R[-1]C[-17]:R[43]C[-17],'Planning Fabrication'!RC[-19])"
    'Range("T6").Select
End Sub
Autre remarque : si je commente les 2 lignes en gras, même si un deuxième classeur est ouvert, la macro met 2 à 3 secondes à s'éxecuter (sinon 3-4 minutes).
Merci d'avance ;-)
Sébastien