Bonjour à tous, je viens vers vous pour un problème déjà traité. En fait je copie les données d’un fichier qui à 99.99% de chance d’être ouvert mais pour les 0.01% j’ai mis en place un code qui permet de choisir le fichier et de savoir si oui ou non il est ouvert. Le code marche parfaitement quand le fichier est ouvert. Cependant je suis tombée sur les 0.01% et le fichier s’est avéré fermé et mon code à planté au niveau de la ligne 45 avec le message d'erreur " l'indice n'appartient pas à la sélection"

Voici le code dans sa globalité :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Sub OuvertureFichiers()
    Application.ScreenUpdating = False
 
    Dim i, k, m, n, p, v, d, f, s, q, l As Integer
 
    Dim col_2 As Range
 
    Dim Fichier As NewFile
 
    Dim Plage As Range
 
    Dim Cel As Range
 
    'remise à zéro la feuille import sap
 
    Workbooks("A320NLG NEO A320NLG delivery Auto").Sheets("import sap").Columns("A:AY").Delete Shift:=xlToLeft
 
    'Importation des données sap dans le fichier (feuille import sap)
 
    If MsgBox("Voulez-vous importer les données?", vbYesNo, "Importation") = vbYes Then
             Fichier = Application.GetOpenFilename("Fichiers Excel(*.xls; *.xlsx; *.xlsm), *.xls; *.xlsx; *.xlsm")
                If Fichier = False Then Exit Sub
 
                On Error GoTo Annuler
 
                    For m = 1 To UBound(Fichier)
                        If Mid(Fichier(m), InStrRev(Fichier(m), "\") + 1) <> ThisWorkbook.Name Then
 
                            On Error Resume Next
 
                            Workbooks.Open Fichier(m)
 
                        Else
 
                            MsgBox "le fichier " & ThisWorkbook.Name & " est déjà ouvert"
 
                        End If
 
                    Next m
 
Annuler:
 
    'copie des données du fichier extrait d'SAP vers le fichier A320NLGdelivery
 
            Workbooks("Feuille de calcul dans Basis (1).xlsx").Activate
            Sheets("Feuil1").Select
            Union(Columns(2), Columns(5), Columns(27), Columns(29), Columns(30)).Copy
 
    'coller les données dans le fichier A320NLGdelivery
 
            Workbooks("A320NLG NEO A320NLG delivery Auto.xlsm").Activate
 
            Sheets("import sap").Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Merci pour votre aide.