Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…