Détecter l'ouverture d'excel

Résolu
zapp56 -  
 zapp56 -
Bonjour,

Je travaille sur Excel 2003.
Pour éviter des problèmes d'interférences avec d'autres classeurs, j'aimerais que dans la "Private Sub Workbook_Open()", le programme teste si excel est déjà ouvert. Ainsi, j'afficherai un message du style "veuillez fermez tous les autres classeurs actifs" et mon classeur se fermera automatiquement.

Merci d'avance,
Cordialement.

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Comme ceci:

    Public Function Excel_Ouvert() As Boolean
      Dim Wb As Excel.Workbook
      Dim Appli As Excel.Application
     On Error Resume Next
      Set Appli = GetObject(, "Excel.Application")
      ' Le test ci-dessous permet de vérifier si Excel est ouvert.
      If Appli Is Nothing Then
        Excel_Ouvert = False
      Else
        Excel_Ouvert = True
      End If
     ' Le test ci-dessous permet de lister les fichiers Excel ouvert.
     For Each Wb In Appli.Workbooks
        If Wb.Name = "Classeur1.xls" Then 'nom du classeur qui contient cette macro
          MsgBox "mon classeur " & Wb.Name
          Else
          MsgBox Excel_Ouvert
         MsgBox Wb.Name
        End If
      Next Wb
     End Function
    

    1
    1. zapp56
       
      Super ! Merci pour vous quatre :
      -Toi,
      -Ta rapidité,
      -La réponse,
      -Son efficacité.
      0