pb ouvrir classeur en VBA

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Youky \(BJ\)
Le #18286521
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"
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.



Laplume
Le #18286991
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)" 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"
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.







MV71
Le #18289231
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" 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)" 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"
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.











Youky \(BJ\)
Le #18296131
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"
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.











Laplume
Le #18314451
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)" 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"
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.















Publicité
Poster une réponse
Anonyme