condition si le fichier est présent

Bricoltou

XLDnaute Occasionnel
Bonjour le Forum

J'ai une macro qui ouvre un classeur , puis un fichier xls .

Je voudrais mettre une condition si le fichier xls est absent du genre :

if fichier ( c'est ma variable ) is not ________ then
MsgBox "Pas de Fichier", , "vérifier votre classeur"
Exit Sub

merci d'avance pour votre aide ;)

@+

Bricoltou
 

Softmama

XLDnaute Accro
Re : condition si le fichier est présent

Bonsoir,

D'après ce que je comprends :

Code:
Dim Wbk As Workbook
...Ta macro qui ouvre ton classeur fichier.xls
On Error Resume Next
  Set Wbk = Workbooks("[B]fichier.xls[/B]") 
On Error GoTo 0
If Wbk Is Nothing Then MsgBox "Pas de Fichier", , "vérifier votre classeur" Else Set Wbk = Nothing

Le nom fichier.xls en gras à adapter
 

Bricoltou

XLDnaute Occasionnel
Re : condition si le fichier est présent

Bonsoir le Fil , Softmama

Merci pour ta réponse , mais je suis débutant et la macro ci dessous n'a pas été faite par moi .
Ou dois je integrer ton code

PHP:
Sub Reims()
Dim fichier$, Chemin$, source As Workbook, cible As Workbook
Dim lig%, dlg%, x&, i&, fin&
Application.ScreenUpdating = False
Chemin = ThisWorkbook.Path
Set cible = ThisWorkbook
fichier = Chemin & "\Reims\Suivi Camionnage.xls"
fin = Sheets("SD").Range("A65536").End(xlUp).Row
For i = 2 To fin
    If fichier Like "*" & Sheets("SD").Cells(i, 1) & "*" Then x = Sheets("SD").Cells(i, 2): GoTo 1
Next i
1
Set source = Workbooks.Open(fichier)
    With source.Sheets("Données")
        dlg = cible.Sheets("Données").Range("A65536").End(xlUp).Row + 1
        lig = .Range("A4:A2000").Find("", , xlValues, , 1, 1, 0).Row
        Application.DisplayAlerts = False
            .Range("A4:M" & lig).Copy
            cible.Sheets("Données").Range("B" & dlg).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
        cible.Sheets("Données").Range("A" & dlg & ":A" & dlg + lig - 5) = x
        cible.Sheets("Données").Range("A4:N" & dlg + lig - 5).Font.Name = "Times New Roman"
        cible.Sheets("Données").Range("A4:N" & dlg + lig - 5).Font.Bold = False
    End With
source.Close SaveChanges:=False
Application.DisplayAlerts = True
 Unload Agence
MsgBox "Traitement effectué", , "Importation du fichier Reims"
End Sub
Merci davance pour votre aide

@+

Bricoltou
 

Softmama

XLDnaute Accro
Re : condition si le fichier est présent

Re,

Tu peux l'intégrer de la manière suivante :
Code:
Sub Reims()
Dim fichier$, Chemin$, source As Workbook, cible As Workbook
Dim lig%, dlg%, x&, i&, fin&
Application.ScreenUpdating = False
Chemin = ThisWorkbook.Path
Set cible = ThisWorkbook
fichier = Chemin & "\Reims\Suivi Camionnage.xls"
fin = Sheets("SD").Range("A65536").End(xlUp).Row
For i = 2 To fin
    If fichier Like "*" & Sheets("SD").Cells(i, 1) & "*" Then x = Sheets("SD").Cells(i, 2): GoTo 1
Next i
1
[COLOR="Red"][B]On error resume next[/B][/COLOR]
Set source = Workbooks.Open(fichier)
[COLOR="Red"][B]On Error GoTo 0
If source Is Nothing Then
    MsgBox "Pas de Fichier", , "vérifier votre classeur"[/B]
Else[/COLOR]
    With source.Sheets("Données")
        dlg = cible.Sheets("Données").Range("A65536").End(xlUp).Row + 1
        lig = .Range("A4:A2000").Find("", , xlValues, , 1, 1, 0).Row
        Application.DisplayAlerts = False
            .Range("A4:M" & lig).Copy
            cible.Sheets("Données").Range("B" & dlg).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
        cible.Sheets("Données").Range("A" & dlg & ":A" & dlg + lig - 5) = x
        cible.Sheets("Données").Range("A4:N" & dlg + lig - 5).Font.Name = "Times New Roman"
        cible.Sheets("Données").Range("A4:N" & dlg + lig - 5).Font.Bold = False
    End With
source.Close SaveChanges:=False
Application.DisplayAlerts = True
 Unload Agence
MsgBox "Traitement effectué", , "Importation du fichier Reims"
[B][COLOR="Red"]end if[/COLOR][/B]
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 428
Messages
2 088 344
Membres
103 821
dernier inscrit
Lorient56