Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

pb ouvrir classeur en VBA

5 réponses
Avatar
Laplume
Bonjour tout le monde
j'ai un blocage pour ouvrir un classeur avec une macro je la colle
ci-dessosus:
Sub OuvreSiPasOuvert()
' activer le fichier ==> sinon l'ouvrir
On Error Resume Next
fich = [B5] 'Fichier à modifier
Workbooks(fich).Activate
'n = Windows(fich).Width 'vérifier la présence sans l'activer
If Err = 0 Then
GoTo fin
Else
On Error Resume Next
p = ActiveWorkbook.Path
Dim fichier As String
'Dim fichier As New Excel.Workbook
'fichier = "" & p & "\" & fich & ""
fichier = p & "\" & fich
Application.DisplayAlerts = False
Excel.Application.Workbooks.Open Filename:=fichier -->Bloque ici quand pas
ouvert
'Excel.Application.Workbooks.Open Filename:=fich
'Workbook.Open fichier
Application.DisplayAlerts = True
If Err = 0 Then
GoTo fin
Else
MsgBox "Le fichier '" & fichier & "' est introuvable"
'MsgBox "Le fichier '" & fich & "' est introuvable"
End If
End If
fin:
With ActiveWindow
.WindowState = xlMinimized
End With
End Sub
Vous pouvez voir aussi mes différentes modifications. Ca bloque mais le
fichier est ouvert. Je ne comprends pas ce qui se passe.
Merci de m'aider.

5 réponses

Avatar
Youky \(BJ\)
Bonjour,
Voici un code que j'utilise

fichier=[B5] 'exemple toto.xls
chemin = ThisWorkbook.Path
'draw = ActiveWorkbook.Name
On Error Resume Next
Workbooks(fichier).Activate
If Err.Number = 9 Then
Err = 0
'Application.DisplayAlerts = False
Workbooks.Open Filename:=chemin & "" & fichier
'Application.DisplayAlerts = True
End If
'Windows(draw).Activate 'pour activer le 1er fichier

Youky(BJ)


"Laplume" a écrit dans le message de news:

Bonjour tout le monde
j'ai un blocage pour ouvrir un classeur avec une macro je la colle
ci-dessosus:
Sub OuvreSiPasOuvert()
' activer le fichier ==> sinon l'ouvrir
On Error Resume Next
fich = [B5] 'Fichier à modifier
Workbooks(fich).Activate
'n = Windows(fich).Width 'vérifier la présence sans l'activer
If Err = 0 Then
GoTo fin
Else
On Error Resume Next
p = ActiveWorkbook.Path
Dim fichier As String
'Dim fichier As New Excel.Workbook
'fichier = "" & p & "" & fich & ""
fichier = p & "" & fich
Application.DisplayAlerts = False
Excel.Application.Workbooks.Open Filename:=fichier -->Bloque ici quand
pas ouvert
'Excel.Application.Workbooks.Open Filename:=fich
'Workbook.Open fichier
Application.DisplayAlerts = True
If Err = 0 Then
GoTo fin
Else
MsgBox "Le fichier '" & fichier & "' est introuvable"
'MsgBox "Le fichier '" & fich & "' est introuvable"
End If
End If
fin:
With ActiveWindow
.WindowState = xlMinimized
End With
End Sub
Vous pouvez voir aussi mes différentes modifications. Ca bloque mais le
fichier est ouvert. Je ne comprends pas ce qui se passe.
Merci de m'aider.



Avatar
Laplume
Merci de ton aide
mais je n'y comprends rien, sans rien changer à mon code ca s'est remis à
marcher
Si je compreds bien ton code tranforme l'erreur 9 en pas d'erreur.

"Youky (BJ)" a écrit dans le message de
news:
Bonjour,
Voici un code que j'utilise

fichier=[B5] 'exemple toto.xls
chemin = ThisWorkbook.Path
'draw = ActiveWorkbook.Name
On Error Resume Next
Workbooks(fichier).Activate
If Err.Number = 9 Then
Err = 0
'Application.DisplayAlerts = False
Workbooks.Open Filename:=chemin & "" & fichier
'Application.DisplayAlerts = True
End If
'Windows(draw).Activate 'pour activer le 1er fichier

Youky(BJ)


"Laplume" a écrit dans le message de news:

Bonjour tout le monde
j'ai un blocage pour ouvrir un classeur avec une macro je la colle
ci-dessosus:
Sub OuvreSiPasOuvert()
' activer le fichier ==> sinon l'ouvrir
On Error Resume Next
fich = [B5] 'Fichier à modifier
Workbooks(fich).Activate
'n = Windows(fich).Width 'vérifier la présence sans l'activer
If Err = 0 Then
GoTo fin
Else
On Error Resume Next
p = ActiveWorkbook.Path
Dim fichier As String
'Dim fichier As New Excel.Workbook
'fichier = "" & p & "" & fich & ""
fichier = p & "" & fich
Application.DisplayAlerts = False
Excel.Application.Workbooks.Open Filename:=fichier -->Bloque ici quand
pas ouvert
'Excel.Application.Workbooks.Open Filename:=fich
'Workbook.Open fichier
Application.DisplayAlerts = True
If Err = 0 Then
GoTo fin
Else
MsgBox "Le fichier '" & fichier & "' est introuvable"
'MsgBox "Le fichier '" & fich & "' est introuvable"
End If
End If
fin:
With ActiveWindow
.WindowState = xlMinimized
End With
End Sub
Vous pouvez voir aussi mes différentes modifications. Ca bloque mais
le fichier est ouvert. Je ne comprends pas ce qui se passe.
Merci de m'aider.







Avatar
MV71
Bonsoir,
J'ai à peu près la même chose et je ne comprends pas non plus pourquoi cela
se bloque parfois et que d'autres fois ça fonctionne correctement
Bonne soirée

"Laplume" a écrit dans le message de groupe de
discussion :
Merci de ton aide
mais je n'y comprends rien, sans rien changer à mon code ca s'est remis à
marcher
Si je compreds bien ton code tranforme l'erreur 9 en pas d'erreur.

"Youky (BJ)" a écrit dans le message de
news:
Bonjour,
Voici un code que j'utilise

fichier=[B5] 'exemple toto.xls
chemin = ThisWorkbook.Path
'draw = ActiveWorkbook.Name
On Error Resume Next
Workbooks(fichier).Activate
If Err.Number = 9 Then
Err = 0
'Application.DisplayAlerts = False
Workbooks.Open Filename:=chemin & "" & fichier
'Application.DisplayAlerts = True
End If
'Windows(draw).Activate 'pour activer le 1er fichier

Youky(BJ)


"Laplume" a écrit dans le message de news:

Bonjour tout le monde
j'ai un blocage pour ouvrir un classeur avec une macro je la colle
ci-dessosus:
Sub OuvreSiPasOuvert()
' activer le fichier ==> sinon l'ouvrir
On Error Resume Next
fich = [B5] 'Fichier à modifier
Workbooks(fich).Activate
'n = Windows(fich).Width 'vérifier la présence sans l'activer
If Err = 0 Then
GoTo fin
Else
On Error Resume Next
p = ActiveWorkbook.Path
Dim fichier As String
'Dim fichier As New Excel.Workbook
'fichier = "" & p & "" & fich & ""
fichier = p & "" & fich
Application.DisplayAlerts = False
Excel.Application.Workbooks.Open Filename:=fichier -->Bloque ici quand
pas ouvert
'Excel.Application.Workbooks.Open Filename:=fich
'Workbook.Open fichier
Application.DisplayAlerts = True
If Err = 0 Then
GoTo fin
Else
MsgBox "Le fichier '" & fichier & "' est introuvable"
'MsgBox "Le fichier '" & fich & "' est introuvable"
End If
End If
fin:
With ActiveWindow
.WindowState = xlMinimized
End With
End Sub
Vous pouvez voir aussi mes différentes modifications. Ca bloque mais
le fichier est ouvert. Je ne comprends pas ce qui se passe.
Merci de m'aider.











Avatar
Youky \(BJ\)
re bonjour,
Je reviens sur ta macro.........
Plusieurs choses me chiffonnent dans ton code...
il serait bon d'indiquer l'onglet en ..... fich=[B5]
Personnellement j'utilise le codename de l'onglet et non le nom mis à cette
feuille exemple Feuil1.[B5]
Et plus bas en ta macro
If Err = 0 Then
GoTo fin
Else
On Error Resume Next






Si l'on va dans le Else c'est qu'il y a une erreur et tu lui remets une
gestion d'erreur alors que deja on est en plein dedans
Donc il serait souhaitable de mettre ERR.CLEAR avant On error resume next.
Il est bon aussi de mettre les Dim en de tête de macro et les on erreur
resume next juste avant les lignes dangereuses.
Bonne chance
Youky (BJ)


"Laplume" a écrit dans le message de news:

Bonjour tout le monde
j'ai un blocage pour ouvrir un classeur avec une macro je la colle
ci-dessosus:
Sub OuvreSiPasOuvert()
' activer le fichier ==> sinon l'ouvrir
On Error Resume Next
fich = [B5] 'Fichier à modifier
Workbooks(fich).Activate
'n = Windows(fich).Width 'vérifier la présence sans l'activer
If Err = 0 Then
GoTo fin
Else
On Error Resume Next
p = ActiveWorkbook.Path
Dim fichier As String
'Dim fichier As New Excel.Workbook
'fichier = "" & p & "" & fich & ""
fichier = p & "" & fich
Application.DisplayAlerts = False
Excel.Application.Workbooks.Open Filename:=fichier -->Bloque ici quand
pas ouvert
'Excel.Application.Workbooks.Open Filename:=fich
'Workbook.Open fichier
Application.DisplayAlerts = True
If Err = 0 Then
GoTo fin
Else
MsgBox "Le fichier '" & fichier & "' est introuvable"
'MsgBox "Le fichier '" & fich & "' est introuvable"
End If
End If
fin:
With ActiveWindow
.WindowState = xlMinimized
End With
End Sub
Vous pouvez voir aussi mes différentes modifications. Ca bloque mais
le fichier est ouvert. Je ne comprends pas ce qui se passe.
Merci de m'aider.











Avatar
Laplume
Merci de m'apporter votre aide, je vais essayer d'améliorer ca. Il faut dire
quej'avais bidouillé avec le if err parceque le on error resume next me
plantait avec une erreur n°9 bien que le fichier soit présent. Bon je vais
essayer de remettre de l'ordre, vos éclaircissement m'aideront.
merci encore

"Youky (BJ)" a écrit dans le message de
news: %
re bonjour,
Je reviens sur ta macro.........
Plusieurs choses me chiffonnent dans ton code...
il serait bon d'indiquer l'onglet en ..... fich=[B5]
Personnellement j'utilise le codename de l'onglet et non le nom mis à
cette feuille exemple Feuil1.[B5]
Et plus bas en ta macro
If Err = 0 Then
GoTo fin
Else
On Error Resume Next






Si l'on va dans le Else c'est qu'il y a une erreur et tu lui remets une
gestion d'erreur alors que deja on est en plein dedans
Donc il serait souhaitable de mettre ERR.CLEAR avant On error resume next.
Il est bon aussi de mettre les Dim en de tête de macro et les on erreur
resume next juste avant les lignes dangereuses.
Bonne chance
Youky (BJ)


"Laplume" a écrit dans le message de news:

Bonjour tout le monde
j'ai un blocage pour ouvrir un classeur avec une macro je la colle
ci-dessosus:
Sub OuvreSiPasOuvert()
' activer le fichier ==> sinon l'ouvrir
On Error Resume Next
fich = [B5] 'Fichier à modifier
Workbooks(fich).Activate
'n = Windows(fich).Width 'vérifier la présence sans l'activer
If Err = 0 Then
GoTo fin
Else
On Error Resume Next
p = ActiveWorkbook.Path
Dim fichier As String
'Dim fichier As New Excel.Workbook
'fichier = "" & p & "" & fich & ""
fichier = p & "" & fich
Application.DisplayAlerts = False
Excel.Application.Workbooks.Open Filename:=fichier -->Bloque ici quand
pas ouvert
'Excel.Application.Workbooks.Open Filename:=fich
'Workbook.Open fichier
Application.DisplayAlerts = True
If Err = 0 Then
GoTo fin
Else
MsgBox "Le fichier '" & fichier & "' est introuvable"
'MsgBox "Le fichier '" & fich & "' est introuvable"
End If
End If
fin:
With ActiveWindow
.WindowState = xlMinimized
End With
End Sub
Vous pouvez voir aussi mes différentes modifications. Ca bloque mais
le fichier est ouvert. Je ne comprends pas ce qui se passe.
Merci de m'aider.