Test ouverture fichier
Résolu
Harry Baux
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
Harry Baux Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
Harry Baux Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai testé plusieurs macro pour ceci mais je n'y arrive pas.
En fait je voudrais que la macro m'active mon fichier si il est déja ouvert ou bien qu'il l'ouvre si celui ci est fermé.
Cela fonctionne lorsque celui ci est fermé mais pas quand il est déja ouvert.
Sub testouverture()
estouvert = False
For Each fich In Workbooks
If fich.Name = "monfichier.xls" Then estouvert = True
Next
If estouvert = True Then Workbooks "monfichier.xls".Activate
If estouvert = False Then Workbooks.Open "monfichier.xls"
End Sub
Je me suis inspiré du premier exemple (j'ai tout essayé mais à chaque fois j'ai le même résultat).
http://jacxl.free.fr/cours_xl/cours_xl_jac.html#fichouv
Merci à vous pour votre aide.
Bonne soirée
PS : j'ai un problème d'affichage avec votre site depuis une semaine c'est du à quoi (ABP ?)
J'ai testé plusieurs macro pour ceci mais je n'y arrive pas.
En fait je voudrais que la macro m'active mon fichier si il est déja ouvert ou bien qu'il l'ouvre si celui ci est fermé.
Cela fonctionne lorsque celui ci est fermé mais pas quand il est déja ouvert.
Sub testouverture()
estouvert = False
For Each fich In Workbooks
If fich.Name = "monfichier.xls" Then estouvert = True
Next
If estouvert = True Then Workbooks "monfichier.xls".Activate
If estouvert = False Then Workbooks.Open "monfichier.xls"
End Sub
Je me suis inspiré du premier exemple (j'ai tout essayé mais à chaque fois j'ai le même résultat).
http://jacxl.free.fr/cours_xl/cours_xl_jac.html#fichouv
Merci à vous pour votre aide.
Bonne soirée
PS : j'ai un problème d'affichage avec votre site depuis une semaine c'est du à quoi (ABP ?)
A voir également:
- Test ouverture fichier
- Test performance pc - Guide
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
6 réponses
Bonjour.
Remplacer vos deux lignes :
Salutations.
Le Pingou
Remplacer vos deux lignes :
If estouvert = True Then Workbooks "monfichier.xls".ActivatePar celles-ci :
If estouvert = False Then Workbooks.Open "monfichier.xls"
If estouvert = True Then
Workbooks "monfichier.xls".Activate
Else
Workbooks.Open "c:\le chemin\monfichier.xls" ` nécessaire d'avoir le lecteur +le chemin
End If
Salutations.
Le Pingou
Bonsoir,
J'ai un soucis pour la suite....lorsque la macro copie les données.
ça s'arrête sur "ActiveSheet.Paste"
Auriez vous une idée, ça fonctionne aléatoirement.
Le code en entier ci dessous :
J'ai un soucis pour la suite....lorsque la macro copie les données.
ça s'arrête sur "ActiveSheet.Paste"
Auriez vous une idée, ça fonctionne aléatoirement.
Le code en entier ci dessous :
Merci
Sub testouveture_maj
ThisWorkbook.Activate
Sheets("feuilacopier").Select
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Copy
estouvert = False
For Each fich In Workbooks
If fich.Name = (Range("'Sources'!B3")) Then estouvert = True ' mettre le nom du fichier: mon fichier.xls
Next
If estouvert = True Then
Workbooks(Range("'Sources'!B4")).Activate ' mettre le nom du fichier avec guillemets: "mon fichier.xls"
ActiveWorkbook.Save
Sheets(1).Select
Range("A1").Select
Selection.CurrentRegion.Select
nbl = Selection.Rows.Count
Cells(nbl + 1, 1).Select '
ActiveSheet.Paste
Else
Workbooks.Open (Range("'Sources'!B5")) ' mettre le chemin complet du fichier: c:\mon fichier.xls
Sheets(1).Select
Range("A1").Select
Selection.CurrentRegion.Select
nbl = Selection.Rows.Count
Cells(nbl + 1, 1).Select '
ActiveSheet.Paste
End If
ThisWorkbook.Activate
End Sub
Bonjour,
Juste au passage, cette partie de votre code n'est pas correct:
Je vous ai indiquez ceci pour le classeur non ouvert:
Note: on ne c'est pas quelles données vous copiez et ou vous les collez...!
Joyeux Noël
Juste au passage, cette partie de votre code n'est pas correct:
Workbooks.Open (Range("'Sources'!B5")) ' mettre le chemin complet du fichier: c:\mon fichier.xls
Je vous ai indiquez ceci pour le classeur non ouvert:
Workbooks.Open "c:\le chemin\monfichier.xls" ' nécessaire d'avoir le lecteur +le chemin
Note: on ne c'est pas quelles données vous copiez et ou vous les collez...!
Joyeux Noël
Bonjour Le Pingou,
Tout fonctionne maintenant je vous remercie.
Juste une dernière question.
Je renvoie à une cellule le chemin ou bien le nom du fichier.
Le renvoie fonctionne pour le chemin de fichier mais lorsque je met simplement le nom cela ne fonctionne pas.
Lorsque je me met le nom du fichier en dur dans la macro ça fonctionne.
exemple :
Workbooks("monfichier.xlsx").Activate
ça fonctionne
Par contre avec :
Workbooks(Range("'Sources'!B4")).Activate
ça ne fonctionne pas
(j'ai bien dans ma cellule B4 monfichier.xlsx)
J'ai un message d'erreur de type '1004' "La méthode 'Range' de l'objet' Global a échoué"
Auriez vous une réponse ?
Merci et joyeuses fêtes.
Tout fonctionne maintenant je vous remercie.
Juste une dernière question.
Je renvoie à une cellule le chemin ou bien le nom du fichier.
Le renvoie fonctionne pour le chemin de fichier mais lorsque je met simplement le nom cela ne fonctionne pas.
Lorsque je me met le nom du fichier en dur dans la macro ça fonctionne.
exemple :
Workbooks("monfichier.xlsx").Activate
ça fonctionne
Par contre avec :
Workbooks(Range("'Sources'!B4")).Activate
ça ne fonctionne pas
(j'ai bien dans ma cellule B4 monfichier.xlsx)
J'ai un message d'erreur de type '1004' "La méthode 'Range' de l'objet' Global a échoué"
Auriez vous une réponse ?
Merci et joyeuses fêtes.
Bonsoir,
à tout hasard essaie avec :
Workbooks(Range("'Sources'!B4").value).Activate
J'ai l'impression que c'est le fait que tu lui passes un range et non un string qui ne lui plait pas.
Par contre pour ouvrir le fichier il faudra toujours au total chemin+nom du fichier. comme te l'as dit le pingou. Remarque à laquelle tu n'as même pas répondu ok, ce qui fait qu'on ne sait pas si tu en tiens compte ou pas...
eric
à tout hasard essaie avec :
Workbooks(Range("'Sources'!B4").value).Activate
J'ai l'impression que c'est le fait que tu lui passes un range et non un string qui ne lui plait pas.
Par contre pour ouvrir le fichier il faudra toujours au total chemin+nom du fichier. comme te l'as dit le pingou. Remarque à laquelle tu n'as même pas répondu ok, ce qui fait qu'on ne sait pas si tu en tiens compte ou pas...
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ps
Pour faire résumé lorsque je met le chemin du fichier dans une cellule ça fonctionne, par contre quand je me le nom du fichier ou bien le nom de la feuille ça ne marche pas.... j'ai essayé toutes les combines mais ça ne veut pas marcher....surement un problème de syntaxe.....
Pour faire résumé lorsque je met le chemin du fichier dans une cellule ça fonctionne, par contre quand je me le nom du fichier ou bien le nom de la feuille ça ne marche pas.... j'ai essayé toutes les combines mais ça ne veut pas marcher....surement un problème de syntaxe.....
Merci beaucoup ça marche.
Petite précision.
Pour ceux qui mettent les liens dans les cellules il faut mettre le nom du fichier tout simplement, ensuite le nom du ficher avec les guillemets, puis le chemin complet du fichier.
Voir le code complet ci dessous :
Sub testouverture()