Dans une macro complémentaire, j'alimente une collection choisie des fichiers qui sont en ouverture (ici dummy.xls et tresorerie.xls) :
Merci d'avance.
Pour compléter ce post avec ma doc complète voici le sub complémentaire et préalable au fonctionnement général :
Private Sub App_WorkbookOpen(ByVal Wb As Excel.Workbook)
If InStr(1, LCase(Wb.Name), "dummy") + _
InStr(1, LCase(Wb.Name), "tresorerie") >= 1 Then
WbNames.Add Item:=Wb.Name, Key:=Wb.Name
For WbName = 1 To WbNames.Count
MsgBox "Ouverture détectée du fichier : " & WbNames(WbName)
Next WbName
End If
End Sub
Jusque là pas de problème. Toujours dans cette macro complémentaire, un autre sub doit faire une action lorsque sur les fichiers de cette collection, toujours pas de pb :If InStr(1, LCase(Wb.Name), "dummy") + _
InStr(1, LCase(Wb.Name), "tresorerie") >= 1 Then
WbNames.Add Item:=Wb.Name, Key:=Wb.Name
For WbName = 1 To WbNames.Count
MsgBox "Ouverture détectée du fichier : " & WbNames(WbName)
Next WbName
End If
End Sub
Private Sub App_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim W As Workbook
For Each W In Workbooks
If W.Name = WbNames.Item(W.Name) Then
MsgBox "Action"
End If
Next W
End Sub
Le problème : Comment éviter l'arrêt sur erreur vba pour les fichiers en dehors de cette collection ?Dim W As Workbook
For Each W In Workbooks
If W.Name = WbNames.Item(W.Name) Then
MsgBox "Action"
End If
Next W
End Sub
Merci d'avance.
Pour compléter ce post avec ma doc complète voici le sub complémentaire et préalable au fonctionnement général :
Option Explicit
Public WithEvents App As Application
Public WbName, WbNames As New Collection
Private Sub Workbook_Open()
' Activation de la macro complémentaire '
MsgBox "Hello ! Macro complémentaire ouverte et en arrière plan"
Set App = Application
End Sub
Public WithEvents App As Application
Public WbName, WbNames As New Collection
Private Sub Workbook_Open()
' Activation de la macro complémentaire '
MsgBox "Hello ! Macro complémentaire ouverte et en arrière plan"
Set App = Application
End Sub