Ouvrir un fichier déjà ouvert

Bonjour à tous,

Un petit souci avec une procédure qui ouvre un classeur excel, lorsque le classeur est fermé tous ce passe bien, et bien sur il y a un mais!!!

Quand le classeur est ouvert un message d'erreur que vous connaissez, est afficher. Jai trouvé sur le forum un bout de code que j'ai adapter, hélas toujours l'erreur.

Le code en question:

' Ouverture du dossier cumul

On Error Resume Next

Workbooks(cumul).Activate

If Err.Number <> 0 Then

Workbooks.Open Filename:=cumul, Password:="081278"

End If

On Error GoTo 0

'Workbooks.Open Filename:=cumul, Password:="081278"

Application.WindowState = xlMaximized

Sheets(nosem).Activate

MsgBox ("Tu dois coller les valeurs dans la semaine " & nosem & vbCrLf & "Du secteurs " & sec)

Merci d'avance de votre aide

Coco

Bonjour à tous,

Personne n'a d'idées?

Merci d'avance

bonjour coco6728 et le forum

peut etre que ce https://forum.excel-pratique.com/excel/afficher-classeur-deja-ouvert-t51487.html pourra t'aider

Pascal

Bonjour,

ton code a l'air correct.

Il faut que cumul soit une variable string avec le nom du fichier+extension.

Ex :

cumul="monFichier.xls"

eric

Bonjour tous le mondes,

Merci pour vos reponse .

Je transmet le code en entier ce sera peut être plus simple :

Public nosem As String, sec As String, annee As String, cumul As String

Sub Cumul_agent_cro()

' Cumul_agent_cro Macro

    nosem = Admin.Nsemaine
    sec = Sheets("Accueil ").Range("C4").Value
    annee = Admin.An
    cumul = "M:\DOP DT\Bases Techniques Chauffage\COMPTEUR HORAIRE AGENTS\Semainier divers groupes\Cumul\" & annee

' Copie les donées du cumul

    Sheets("Cumul").Visible = True
        Sheets("Cumul").Select
            Range("B26:H29").Select
                Selection.Copy
                Sheets("Cumul").Select
            ActiveWindow.SelectedSheets.Visible = False
       Application.WindowState = xlMinimized

    Admin.Hide

' Ouverture du dossier cumul

On Error Resume Next
Workbooks(cumul).Activate
If Err.Number <> 0 Then
Workbooks.Open Filename:=cumul, Password:="081278"
End If
On Error GoTo 0

'Workbooks.Open Filename:=cumul, Password:="081278"
Application.WindowState = xlMaximized
Sheets(nosem).Activate
MsgBox ("Tu dois coller les valeurs dans la semaine " & nosem & vbCrLf & "Du secteurs " & sec)

' Colle des données

    Range("N6").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
                Range("N6").Select
                    Application.CutCopyMode = False

End Sub

Voilà Merci pour votre aide

Coco

Bonjour,

Pourquoi tu n'as pas essayé ce que je te disais ?

Workbooks(annee & ".xls").Activate

eric

Bonjour Eric,

Voilà j'ai corrigé, comme tu me l'avais proposé Mais toujours la même erreur.

Public nosem As String, sec As String, annee As String, cumul As String

Sub Cumul_agent_cro()

' Cumul_agent_cro Macro

    nosem = Admin.Nsemaine
    sec = Sheets("Accueil ").Range("C4").Value
    annee = Admin.An
    cumul = "M:\DOP DT\Bases Techniques Chauffage\COMPTEUR HORAIRE AGENTS\Semainier divers groupes\Cumul\" & annee

' Copie les donées du cumul

    Sheets("Cumul").Visible = True
        Sheets("Cumul").Select
            Range("B26:H29").Select
                Selection.Copy
                Sheets("Cumul").Select
            ActiveWindow.SelectedSheets.Visible = False
       Application.WindowState = xlMinimized

    Admin.Hide

' Ouverture du dossier cumul

On Error Resume Next
Workbooks(cumul & "\" & "Cumul.Agents.xlsm").Activate
If Err.Number <> 0 Then
Workbooks.Open Filename:=cumul & "\" & "Cumul.Agents.xlsm", Password:="081278"
End If
On Error GoTo 0

Application.WindowState = xlMaximized
Sheets(nosem).Activate
MsgBox ("Tu dois coller les valeurs dans la semaine " & nosem & vbCrLf & "Du secteurs " & sec)

' Colle des données

    Range("N6").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
                Range("N6").Select
                    Application.CutCopyMode = False

End Sub

Merci encore.

Coco

Bon, fait un effort...

Je t'ai écrit : [b]Workbooks(annee & ".xls").Activate

ou .xlsx ou .xlsm ou .???[/b]

Ca doit être nom_de_ton_fichier.extension_à_3_ou_4_caractères et pas autre chose.

eric

Re Eric

Merci pour patience....

Voilà ça fonctionne, j'ai créer une variable "fich" , que j'ai mis dans le code que tu ma donné.

Public nosem As String, sec As String, annee As String, cumul As String, fich As String

Sub Cumul_agent_cro()

' Cumul_agent_cro Macro

    nosem = Admin.Nsemaine
    sec = Sheets("Accueil ").Range("C4").Value
    annee = Admin.An
    fich = "Cumul.Agents"
    cumul = "M:\DOP DT\Bases Techniques Chauffage\COMPTEUR HORAIRE AGENTS\Semainier divers groupes\Cumul\" & annee

' Copie les donées du cumul

    Sheets("Cumul").Visible = True
        Sheets("Cumul").Select
            Range("B26:H29").Select
                Selection.Copy
                Sheets("Cumul").Select
            ActiveWindow.SelectedSheets.Visible = False
       Application.WindowState = xlMinimized

    Admin.Hide

' Ouverture du dossier cumul

On Error Resume Next
Workbooks(fich & ".xlsm").Activate
If Err.Number <> 0 Then
Workbooks.Open Filename:=cumul & "\" & fich & ".xlsm", Password:="081278"
End If
On Error GoTo 0

Merci beaucoup à tout le forum.

Rechercher des sujets similaires à "ouvrir fichier deja ouvert"