Je souhaite lors d'une macro ouvrir un fichier que je choisirais Hier (voir
dessous) Jppradier et Anonymous m'on répondu mais le soucis est que le
fichier ne s'ouvre pas. La boite d'ouverture arrive bien, je peux choisir le
fichier mais il ne s'ouvre pas, comment faire pour l'ouvrir rééllement et
que la suite de ma macro puisse s'effectuer ?
Anonymous
Pour la question de la recherche du fichier dont le nom a changé, un
petit coup de Getopenfilename pour laisser à l'utilisateur le soin de le
rechercher lui-même évite bien des complications et des soucis. Il faut
cependant prévoir un test de validité de sa recherche avant de lancer la
suite du programme mais c'est en général très simple et très faisable.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JpPradier
Bonsoir Nico
Je vois que tu n'as pas tout lu : Cette ligne recupère dans la variable monFichier le nom et le chemin du fichier choisi. Apres il faut l'ouvrir ;-)) Exemple :
monFichier = Application.GetOpenFilename("Excel files,(*.xls)") If mon Fichier <> False then Workbooks.Open Filename:=monFichier
Si tu applique ça et qu'il ne s'ouvre pas, c'est qu'il y a autre chose. j-p
Bonsoir Nico
Je vois que tu n'as pas tout lu :
Cette ligne recupère dans la variable monFichier le nom et le chemin du fichier choisi.
Apres il faut l'ouvrir ;-))
Exemple :
monFichier = Application.GetOpenFilename("Excel files,(*.xls)")
If mon Fichier <> False then Workbooks.Open Filename:=monFichier
Si tu applique ça et qu'il ne s'ouvre pas, c'est qu'il y a autre chose.
j-p
Je vois que tu n'as pas tout lu : Cette ligne recupère dans la variable monFichier le nom et le chemin du fichier choisi. Apres il faut l'ouvrir ;-)) Exemple :
monFichier = Application.GetOpenFilename("Excel files,(*.xls)") If mon Fichier <> False then Workbooks.Open Filename:=monFichier
Si tu applique ça et qu'il ne s'ouvre pas, c'est qu'il y a autre chose. j-p
C'est impec mais le soucis est que juste avant l'ouverture du fichier je fais une copie et quand j'arrive dans le fichier que j'ai ouvert, j'ai perdu la copie, alors j'ai comme idée de faire :
Windows("toto.xls").Activate "pour retourner sur le 1er fichier" Selection.Copy "je copie ce qui etait sélectionné"
Et maintenant comment je fait pour retourner sur le fichier ouvert : un truc comme ca ? monFichier = Workbooks.Activate
Merci Nico
"JpPradier" a écrit dans le message de news: #
Bonsoir Nico
Je vois que tu n'as pas tout lu : Cette ligne recupère dans la variable monFichier le nom et le chemin du fichier choisi.
Apres il faut l'ouvrir ;-)) Exemple :
monFichier = Application.GetOpenFilename("Excel files,(*.xls)") If mon Fichier <> False then Workbooks.Open Filename:=monFichier
Si tu applique ça et qu'il ne s'ouvre pas, c'est qu'il y a autre chose. j-p
Merci JP,
C'est impec mais le soucis est que juste avant l'ouverture du fichier je
fais une copie et quand j'arrive dans le fichier que j'ai ouvert, j'ai perdu
la copie, alors j'ai comme idée de faire :
Windows("toto.xls").Activate "pour retourner sur le 1er fichier"
Selection.Copy "je copie ce qui etait sélectionné"
Et maintenant comment je fait pour retourner sur le fichier ouvert : un truc
comme ca ?
monFichier = Workbooks.Activate
Merci
Nico
"JpPradier" <jp.pradier.JVeuxPasDeSpam@wanadoo.fr> a écrit dans le message
de news: #mWr5gYMGHA.3460@TK2MSFTNGP15.phx.gbl...
Bonsoir Nico
Je vois que tu n'as pas tout lu :
Cette ligne recupère dans la variable monFichier le nom et le chemin du
fichier choisi.
Apres il faut l'ouvrir ;-))
Exemple :
monFichier = Application.GetOpenFilename("Excel files,(*.xls)")
If mon Fichier <> False then Workbooks.Open Filename:=monFichier
Si tu applique ça et qu'il ne s'ouvre pas, c'est qu'il y a autre chose.
j-p
C'est impec mais le soucis est que juste avant l'ouverture du fichier je fais une copie et quand j'arrive dans le fichier que j'ai ouvert, j'ai perdu la copie, alors j'ai comme idée de faire :
Windows("toto.xls").Activate "pour retourner sur le 1er fichier" Selection.Copy "je copie ce qui etait sélectionné"
Et maintenant comment je fait pour retourner sur le fichier ouvert : un truc comme ca ? monFichier = Workbooks.Activate
Merci Nico
"JpPradier" a écrit dans le message de news: #
Bonsoir Nico
Je vois que tu n'as pas tout lu : Cette ligne recupère dans la variable monFichier le nom et le chemin du fichier choisi.
Apres il faut l'ouvrir ;-)) Exemple :
monFichier = Application.GetOpenFilename("Excel files,(*.xls)") If mon Fichier <> False then Workbooks.Open Filename:=monFichier
Si tu applique ça et qu'il ne s'ouvre pas, c'est qu'il y a autre chose. j-p
JpPradier
Presque ça ;-) :
Workbooks( monFichier).Activate
Une autre solution sans faire de selection ni de copy (sur une seule ligne) :
Voila ce que c'est de ne pas tester ses réponses ! J'oublié un détail :-( Dans monFichier, tu as le chemin complet et Workbooks(...).Activate veut juste le nom du classeur. Tu peux corriger comme suit :
Attention l'instruction InStrRev ne marche qu'a partir de Excel 2000 je crois. Si tu as 97, reviens ;-)
j-p
Voila ce que c'est de ne pas tester ses réponses !
J'oublié un détail :-(
Dans monFichier, tu as le chemin complet et Workbooks(...).Activate veut juste le nom du
classeur.
Tu peux corriger comme suit :
Voila ce que c'est de ne pas tester ses réponses ! J'oublié un détail :-( Dans monFichier, tu as le chemin complet et Workbooks(...).Activate veut juste le nom du classeur. Tu peux corriger comme suit :
Attention l'instruction InStrRev ne marche qu'a partir de Excel 2000 je crois. Si tu as 97, reviens ;-)
j-p
Nico
Impec Jp, ca fonctionne come je le souhaitais. que veux dire : Mid(monFichier, 1 + InStrRev(monFichier, ""))
Et si je veux l'obliger à aller dans une feuil, je suppose que je fais : Workbooks(monFichier).Activate Sheets("fifi").Select
Merci encore JP
Nico
"JpPradier" a écrit dans le message de news:
Voila ce que c'est de ne pas tester ses réponses ! J'oublié un détail :-( Dans monFichier, tu as le chemin complet et Workbooks(...).Activate veut juste le nom du
Attention l'instruction InStrRev ne marche qu'a partir de Excel 2000 je crois. Si tu as
97, reviens ;-)
j-p
Impec Jp, ca fonctionne come je le souhaitais.
que veux dire : Mid(monFichier, 1 + InStrRev(monFichier, ""))
Et si je veux l'obliger à aller dans une feuil, je suppose que je fais :
Workbooks(monFichier).Activate
Sheets("fifi").Select
Merci encore JP
Nico
"JpPradier" <jp.pradier.JVeuxPasDeSpam@wanadoo.fr> a écrit dans le message
de news: uqIKFeZMGHA.2124@TK2MSFTNGP14.phx.gbl...
Voila ce que c'est de ne pas tester ses réponses !
J'oublié un détail :-(
Dans monFichier, tu as le chemin complet et Workbooks(...).Activate veut
juste le nom du
Impec Jp, ca fonctionne come je le souhaitais. que veux dire : Mid(monFichier, 1 + InStrRev(monFichier, ""))
Et si je veux l'obliger à aller dans une feuil, je suppose que je fais : Workbooks(monFichier).Activate Sheets("fifi").Select
Merci encore JP
Nico
"JpPradier" a écrit dans le message de news:
Voila ce que c'est de ne pas tester ses réponses ! J'oublié un détail :-( Dans monFichier, tu as le chemin complet et Workbooks(...).Activate veut juste le nom du
Attention l'instruction InStrRev ne marche qu'a partir de Excel 2000 je crois. Si tu as
97, reviens ;-)
j-p
JpPradier
Re Nico
Avec InStrRev(monFichier, "") on recherche le caractere "" a partir de la fin. Et avec Mid(monFichier, x ) On coupe le texte contenu dans monFichier à partir de x.
monFichier = Application.GetOpenFilename("Excel files,(*.xls)") If monFichier <> False Then Workbooks.Open Filename:=monFichier monFichier¬tiveWorkbook.Name Windows("toto.xls").Activate Selection.Copy Workbooks(monFichier).Activate
j-p
Re Nico
Avec InStrRev(monFichier, "") on recherche le caractere "" a partir de la fin.
Et avec Mid(monFichier, x ) On coupe le texte contenu dans monFichier à partir de x.
Avec InStrRev(monFichier, "") on recherche le caractere "" a partir de la fin. Et avec Mid(monFichier, x ) On coupe le texte contenu dans monFichier à partir de x.