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.