Besoin de votre aide

Bonjour à tous

Besoin de votre aide sur l’organisation d’une ligne.

A partir d’un classeur J’utilise ce code pour vérifier si le classeur de sauvegarde est déjà ouvert.

Si les 2 classeurs se trouvent dans le même répertoire tout fonctionne.

La ou je sèche, je n’arrive pas à écrire ma ligne If Wb.Name = "SEPTEMBRE.xlsx" Then si les classeurs se trouvent dans deux répertoires différents. J’ai bon essayé différentes syntaxe je ne trouve pas.

G:\dossier1\classeur1.xlsm

G:\dossier1\dossier2\classeur2.xlsx

  For Each Wb In Workbooks
    If Wb.Name = "SEPTEMBRE.xlsx" Then
     MsgBox "Le classeur de sauvegarde est déjà ouvert." & Chr(10) & Chr(10) & " Réessayer plus tard"
      Exit Sub ' si classeur ouvert on arrête la macro
    End If
  Next Wb

Merci pour votre aide et bon dimanche.

Bonjour,

Je suppose que tu veux dire que le classeur n'est pas reconnu en étant ouvert, car la commande, elle, est bien écrite !

Ta boucle parcourt les classeurs ouverts dans l'application, peu importe leur dossier d'enregistrement. Si le classeur, ouvert, n'est pas trouvé, c'est qu'il est ouvert dans une instance différente d'Excel.

Comment ouvres-tu tes classeurs ?

MFerrand merci pour ton poste.

Le classeur de sauvegarde est ouvert par cette partie de la macro.

Set wbsource = ActiveWorkbook
Workbooks.Open (ActiveWorkbook.Path & "\" & Sheets("SAISIE").[B7] & "\" & Sheets("REFERENCES").[G22] & ".xlsx") ' CHOIX DU CLASSEUR MOIS
Set wbdest = ActiveWorkbook
wbsource.Activate

MFerrand , j'ai répondu à ta question sans réfléchir il suffit de réunir le premier code avec le second et tout fonctionne.

Encore merci.

Rechercher des sujets similaires à "besoin aide"