Ouverture fichier s'il n'est pas ouvert VBa

Résolu
olympiklyon Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,

J'ai une macro, au début j'ouvre un fichier nommée "essai n1kjh" mais il se peut qu'il soit déja ouvert.
Voici ma macro, l'endroit de l'ouverture est souligné.

___________________________________________________
Sub Macro4()
'
' Macro4 Macro
'
' Touche de raccourci du clavier: Ctrl+o

ligne = ActiveCell.Row
nom = ActiveWorkbook.Name

Selection.Copy
Workbooks.Open "C:\Documents and Settings\JeanMarie\Bureau\essai n1kjh"
Windows("essai n1kjh.xls").Activate
Sheets(Sheets.Count).Select

' Selectionne la première cellule du tableau
Range("B7").Select

' Boucle tant que pas vide
Do While Not (IsEmpty(ActiveCell))
NbLigne = NbLigne + 1
Selection.Offset(1, 0).Select
Loop

Selection.PasteSpecial Paste:=xlPasteValues

MsgBox "Ligne " & ActiveCell.Row
Range("B7").Select

' Boucle tant que pas vide
Do While Not (IsEmpty(ActiveCell))
NbLigne = NbLigne + 1
Selection.Offset(1, 0).Select
Loop

Windows(nom).Activate
Range("I1").Select
Selection.Copy
Windows("essai n1kjh.xls").Activate
Selection.Offset(-1, -1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.Offset(0, 3).Select
Selection.ClearContents
Selection.Offset(0, 1).Select
Selection.ClearContents

Titre = "Pièces Manquantes"
Message = "Indiquez le nombre pieces manquantes"
MaValeur = InputBox(Message, Titre, Defaut)
Selection = MaValeur

Windows("essai n1kjh.xls").Activate
ActiveWorkbook.Save
___________________________________________________________

Merci d'avance

A+
olympikyon =)

3 réponses

  1. olympiklyon Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   1
     
    Merci pour votre aide. mais j'ai plus rapide c'est
    On Error Resume Next
    Workbooks("essai n1kjh.xls").Activate
    If Err then Err.Clear: Workbooks.Open "C:\Documents and Settings\Jeanmarie\Bureau\essai n1kjh.xls"
    1
  2. Utilisateur anonyme
     
    Bonjour,

    Si je comprends bien, tu désire savoir si le fichier est déjà ouvert ?

    Exemple :

    Option Explicit
    '
    
    Sub Macro4()
    
        Dim Reponse As Boolean
        Dim NomFichier As String
        
        NomFichier = "essai n1kjh.xls"
        Reponse = False
        
        Call TestFichierOuvert(NomFichier, Reponse)
        
        If Not (Reponse) Then
            Workbooks.Open "C:\Documents and Settings\JeanMarie\Bureau\essai n1kjh.xls"
        End If
        
        ' Code ...
        
    End Sub
    '
    
    Sub TestFichierOuvert(ByVal NomFic As String, ByRef Resul As Boolean)
    
        Dim Classeur As Workbook
        
        Resul = False
        For Each Classeur In Workbooks
            If (Classeur.Name = NomFic) Then
                Resul = True
            End If
        Next Classeur
        
    End Sub
    '
    


    Cdt

    Lupin
    0
  3. Utilisateur anonyme
     
    re:

    effectivement c'est une solution !

    Lupin
    0