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

définition du nom de fichier

16 réponses
Avatar
Bruno RCSC
Bonsoir,

Win XP, Excel 2002

Je ne comprends pas pourquoi ces quelques lignes ne fonctionnent pas :
Dim nomdefichier As String
ChDir "C:\BH\\facturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week du .xls")
Je complète le nom du fichier.
Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
Ok, jusque là, le fichier s'ouvre impeccable.
Puis je veux activer un autre classeur ouvert
Windows("stat1.xls").Activate (j'ai essayé ActiveWindow.ActivateNext)
Et, là, il ne se passe rien.
Pourquoi ?
Pour info, quand j'ajoute MsgBox (nomdefichier) rien ne s'affiche.

Merci pour votre aide.

BH

6 réponses

1 2
Avatar
Bruno RCSC
Bonsoir Isabelle,

Le mystère restera entier.
Ta proposition ne change rien.
Je te confirme que le code ci dessous se bloque après l'ouverture du fichier
"week du xx.xls"
Dim nomdefichier As String
ChDir "C:BHfacturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week du .xls")
With Application
.Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
End With
Application.Goto Workbooks("testbh.xls").Sheets("Feuil1").Range("A1")

Je n'aime pas abondonner mais là ...
Merci.
BH


correction pour simple guillemet,

Application.Goto Workbooks("stat1.xls").Sheets("Feuil1").Range("A1")

isabelle


bonjour Bruno,

essaie comme ça,

Application.Goto Workbooks(""stat1.xls"").Sheets("Feuil1").Range("A1")
en adaptant le nom de la feuille.

isabelle


Oui, je vois les classeurs.
J'ai même essayé sur un autre micro, même chose.
Le phénomène est bizarre, le fichier s'ouvre et il semblerait qu'il
faille d'abord cliquer dans une cellule pour "récupérer" la main.

Cordialement.

BH



bonjour Bruno,

si tu selectionne au menu, Fenêtre
est ce que tu voie le nom de tous les classeurs ouvert ?

http://cjoint.com/?kiwPSI5yTF

isabelle



Bonsoir Isabelle,

Je viens d'essayer ta proposition.
Cela ne fonctionne pas.
Je ne comprends pas, je vais me résoudre à utiliser
Application.Dialogs(xlDialogOpen).Show
Dans ce cas, ma macro continue normalement mais au bout d'un an,
apparaîtra plus de 52 fichiers dans la boite.

Je suis prêt à tester d'autres idées.

Merci
BH




bonjour Bruno,

essai avec,

With Application
.Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
End With
Workbooks("macro1.xls").Activate

isabelle




Bonsoir,

Non, je suis en "test" la macro est lancée par CTRL+MAJ+M à partir
d'un
fichier qui se nomme macro1.xls
Mon objectif semble simple :
L'utilisateur ouvre un fichier dont il choisit le nom puis la macro
active un autre fichier (qui est déjà ouvert, la macro finale sera
dans
Perso.xls) pour copier des données.

BH





bonjour Bruno,

est ce que la macro se situe dans le classeur "stat1.xls" ?
est ce que "week du .xls" s'ouvre dans la même application
(instance) ?

isabelle




Bonsoir Philippe,

Malheureusement, non, cela ne donne rien.
Je sèche complètement. Mon fichier s'ouvre parfaitement mais après
on
dirait que je sors de la macro.
Par exemple avec le code ci dessous, le fichier s'ouvre mais je
n'obtiens par 78 en G5.
Dim nomdefichier As String
ChDir "C:BHfacturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week du
.xls")
Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
Range("G5").Value = 78

D'autres pistes ?
Merci
BH.























Avatar
isabelle
bonjour Bruno,

y a t'il une macro Workbook_Open ou auto_Open dans le fichier que tu ouvres ?

isabelle


Bonsoir Isabelle,

Le mystère restera entier.
Ta proposition ne change rien.
Je te confirme que le code ci dessous se bloque après l'ouverture du fichier
"week du xx.xls"
Dim nomdefichier As String
ChDir "C:BHfacturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week du .xls")
With Application
.Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
End With
Application.Goto Workbooks("testbh.xls").Sheets("Feuil1").Range("A1")

Je n'aime pas abondonner mais là ...
Merci.
BH




correction pour simple guillemet,

Application.Goto Workbooks("stat1.xls").Sheets("Feuil1").Range("A1")

isabelle



bonjour Bruno,

essaie comme ça,

Application.Goto Workbooks(""stat1.xls"").Sheets("Feuil1").Range("A1")
en adaptant le nom de la feuille.

isabelle



Oui, je vois les classeurs.
J'ai même essayé sur un autre micro, même chose.
Le phénomène est bizarre, le fichier s'ouvre et il semblerait qu'il
faille d'abord cliquer dans une cellule pour "récupérer" la main.

Cordialement.

BH




bonjour Bruno,

si tu selectionne au menu, Fenêtre
est ce que tu voie le nom de tous les classeurs ouvert ?

http://cjoint.com/?kiwPSI5yTF

isabelle




Bonsoir Isabelle,

Je viens d'essayer ta proposition.
Cela ne fonctionne pas.
Je ne comprends pas, je vais me résoudre à utiliser
Application.Dialogs(xlDialogOpen).Show
Dans ce cas, ma macro continue normalement mais au bout d'un an,
apparaîtra plus de 52 fichiers dans la boite.

Je suis prêt à tester d'autres idées.

Merci
BH





bonjour Bruno,

essai avec,

With Application
.Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
End With
Workbooks("macro1.xls").Activate

isabelle





Bonsoir,

Non, je suis en "test" la macro est lancée par CTRL+MAJ+M à partir
d'un
fichier qui se nomme macro1.xls
Mon objectif semble simple :
L'utilisateur ouvre un fichier dont il choisit le nom puis la macro
active un autre fichier (qui est déjà ouvert, la macro finale sera
dans
Perso.xls) pour copier des données.

BH






bonjour Bruno,

est ce que la macro se situe dans le classeur "stat1.xls" ?
est ce que "week du .xls" s'ouvre dans la même application
(instance) ?

isabelle





Bonsoir Philippe,

Malheureusement, non, cela ne donne rien.
Je sèche complètement. Mon fichier s'ouvre parfaitement mais après
on
dirait que je sors de la macro.
Par exemple avec le code ci dessous, le fichier s'ouvre mais je
n'obtiens par 78 en G5.
Dim nomdefichier As String
ChDir "C:BHfacturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week du
.xls")
Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
Range("G5").Value = 78

D'autres pistes ?
Merci
BH.


























Avatar
Bruno RCSC
Bonsoir,

Non, ce sont des fichiers très simples.
Peux tu essayer de reproduire le code en adaptant les noms et les directory
sur ton poste ?
J'ai essayé, avant de capituler ?, la même manip avec des classeurs vierges
et je bloque pareil.
Le classeur portant le nom de la variable s'ouvre et puis plus rien.
A la suite du code, j'ai ajouté MsgBox (nomdefichier) et rien apparaît.

BH


bonjour Bruno,

y a t'il une macro Workbook_Open ou auto_Open dans le fichier que tu
ouvres ?

isabelle



Bonsoir Isabelle,

Le mystère restera entier.
Ta proposition ne change rien.
Je te confirme que le code ci dessous se bloque après l'ouverture du
fichier "week du xx.xls"
Dim nomdefichier As String
ChDir "C:BHfacturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week du
.xls")
With Application
.Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
End With
Application.Goto Workbooks("testbh.xls").Sheets("Feuil1").Range("A1")

Je n'aime pas abondonner mais là ...
Merci.
BH




correction pour simple guillemet,

Application.Goto Workbooks("stat1.xls").Sheets("Feuil1").Range("A1")

isabelle



bonjour Bruno,

essaie comme ça,

Application.Goto Workbooks(""stat1.xls"").Sheets("Feuil1").Range("A1")
en adaptant le nom de la feuille.

isabelle



Oui, je vois les classeurs.
J'ai même essayé sur un autre micro, même chose.
Le phénomène est bizarre, le fichier s'ouvre et il semblerait qu'il
faille d'abord cliquer dans une cellule pour "récupérer" la main.

Cordialement.

BH




bonjour Bruno,

si tu selectionne au menu, Fenêtre
est ce que tu voie le nom de tous les classeurs ouvert ?

http://cjoint.com/?kiwPSI5yTF

isabelle




Bonsoir Isabelle,

Je viens d'essayer ta proposition.
Cela ne fonctionne pas.
Je ne comprends pas, je vais me résoudre à utiliser
Application.Dialogs(xlDialogOpen).Show
Dans ce cas, ma macro continue normalement mais au bout d'un an,
apparaîtra plus de 52 fichiers dans la boite.

Je suis prêt à tester d'autres idées.

Merci
BH





bonjour Bruno,

essai avec,

With Application
.Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
End With
Workbooks("macro1.xls").Activate

isabelle





Bonsoir,

Non, je suis en "test" la macro est lancée par CTRL+MAJ+M à partir
d'un
fichier qui se nomme macro1.xls
Mon objectif semble simple :
L'utilisateur ouvre un fichier dont il choisit le nom puis la macro
active un autre fichier (qui est déjà ouvert, la macro finale sera
dans
Perso.xls) pour copier des données.

BH






bonjour Bruno,

est ce que la macro se situe dans le classeur "stat1.xls" ?
est ce que "week du .xls" s'ouvre dans la même application
(instance) ?

isabelle





Bonsoir Philippe,

Malheureusement, non, cela ne donne rien.
Je sèche complètement. Mon fichier s'ouvre parfaitement mais
après on
dirait que je sors de la macro.
Par exemple avec le code ci dessous, le fichier s'ouvre mais je
n'obtiens par 78 en G5.
Dim nomdefichier As String
ChDir "C:BHfacturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week du
.xls")
Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
Range("G5").Value = 78

D'autres pistes ?
Merci
BH.



























Avatar
isabelle
salut Bruno,

test bien réussi, pas de plantage sur mon poste,

la seule chose que j'ai modifié, est que j'ai ajouter un "" à la fin sur la ligne :

ChDir "C:zaza"

sur ta macro : ChDir "C:BHfacturation"
y'en a pas, c'est peut être le problème ...

isabelle

Bonsoir,

Non, ce sont des fichiers très simples.
Peux tu essayer de reproduire le code en adaptant les noms et les directory
sur ton poste ?
J'ai essayé, avant de capituler ?, la même manip avec des classeurs vierges
et je bloque pareil.
Le classeur portant le nom de la variable s'ouvre et puis plus rien.
A la suite du code, j'ai ajouté MsgBox (nomdefichier) et rien apparaît.

BH



bonjour Bruno,

y a t'il une macro Workbook_Open ou auto_Open dans le fichier que tu
ouvres ?

isabelle





Bonsoir Isabelle,

Le mystère restera entier.
Ta proposition ne change rien.
Je te confirme que le code ci dessous se bloque après l'ouverture du
fichier "week du xx.xls"
Dim nomdefichier As String
ChDir "C:BHfacturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week du
.xls")
With Application
.Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
End With
Application.Goto Workbooks("testbh.xls").Sheets("Feuil1").Range("A1")

Je n'aime pas abondonner mais là ...
Merci.
BH





correction pour simple guillemet,

Application.Goto Workbooks("stat1.xls").Sheets("Feuil1").Range("A1")

isabelle




bonjour Bruno,

essaie comme ça,

Application.Goto Workbooks(""stat1.xls"").Sheets("Feuil1").Range("A1")
en adaptant le nom de la feuille.

isabelle




Oui, je vois les classeurs.
J'ai même essayé sur un autre micro, même chose.
Le phénomène est bizarre, le fichier s'ouvre et il semblerait qu'il
faille d'abord cliquer dans une cellule pour "récupérer" la main.

Cordialement.

BH





bonjour Bruno,

si tu selectionne au menu, Fenêtre
est ce que tu voie le nom de tous les classeurs ouvert ?

http://cjoint.com/?kiwPSI5yTF

isabelle





Bonsoir Isabelle,

Je viens d'essayer ta proposition.
Cela ne fonctionne pas.
Je ne comprends pas, je vais me résoudre à utiliser
Application.Dialogs(xlDialogOpen).Show
Dans ce cas, ma macro continue normalement mais au bout d'un an,
apparaîtra plus de 52 fichiers dans la boite.

Je suis prêt à tester d'autres idées.

Merci
BH






bonjour Bruno,

essai avec,

With Application
.Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
End With
Workbooks("macro1.xls").Activate

isabelle






Bonsoir,

Non, je suis en "test" la macro est lancée par CTRL+MAJ+M à partir
d'un
fichier qui se nomme macro1.xls
Mon objectif semble simple :
L'utilisateur ouvre un fichier dont il choisit le nom puis la macro
active un autre fichier (qui est déjà ouvert, la macro finale sera
dans
Perso.xls) pour copier des données.

BH







bonjour Bruno,

est ce que la macro se situe dans le classeur "stat1.xls" ?
est ce que "week du .xls" s'ouvre dans la même application
(instance) ?

isabelle






Bonsoir Philippe,

Malheureusement, non, cela ne donne rien.
Je sèche complètement. Mon fichier s'ouvre parfaitement mais
après on
dirait que je sors de la macro.
Par exemple avec le code ci dessous, le fichier s'ouvre mais je
n'obtiens par 78 en G5.
Dim nomdefichier As String
ChDir "C:BHfacturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week du
.xls")
Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
Range("G5").Value = 78

D'autres pistes ?
Merci
BH.




























Avatar
Bruno RCSC
Isabelle,

Un sincère très grand bravo.
Quelle persévérance !
Hé oui, j'ai ajouté et cela fonctionne.
Félicitations et encore merci.

BH

salut Bruno,

test bien réussi, pas de plantage sur mon poste,

la seule chose que j'ai modifié, est que j'ai ajouter un "" à la fin sur
la ligne :

ChDir "C:zaza"

sur ta macro : ChDir "C:BHfacturation"
y'en a pas, c'est peut être le problème ...

isabelle

Bonsoir,

Non, ce sont des fichiers très simples.
Peux tu essayer de reproduire le code en adaptant les noms et les
directory sur ton poste ?
J'ai essayé, avant de capituler ?, la même manip avec des classeurs
vierges et je bloque pareil.
Le classeur portant le nom de la variable s'ouvre et puis plus rien.
A la suite du code, j'ai ajouté MsgBox (nomdefichier) et rien apparaît.

BH



bonjour Bruno,

y a t'il une macro Workbook_Open ou auto_Open dans le fichier que tu
ouvres ?

isabelle





Bonsoir Isabelle,

Le mystère restera entier.
Ta proposition ne change rien.
Je te confirme que le code ci dessous se bloque après l'ouverture du
fichier "week du xx.xls"
Dim nomdefichier As String
ChDir "C:BHfacturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week du
.xls")
With Application
.Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
End With
Application.Goto
Workbooks("testbh.xls").Sheets("Feuil1").Range("A1")

Je n'aime pas abondonner mais là ...
Merci.
BH





correction pour simple guillemet,

Application.Goto Workbooks("stat1.xls").Sheets("Feuil1").Range("A1")

isabelle




bonjour Bruno,

essaie comme ça,

Application.Goto Workbooks(""stat1.xls"").Sheets("Feuil1").Range("A1")
en adaptant le nom de la feuille.

isabelle




Oui, je vois les classeurs.
J'ai même essayé sur un autre micro, même chose.
Le phénomène est bizarre, le fichier s'ouvre et il semblerait qu'il
faille d'abord cliquer dans une cellule pour "récupérer" la main.

Cordialement.

BH





bonjour Bruno,

si tu selectionne au menu, Fenêtre
est ce que tu voie le nom de tous les classeurs ouvert ?

http://cjoint.com/?kiwPSI5yTF

isabelle





Bonsoir Isabelle,

Je viens d'essayer ta proposition.
Cela ne fonctionne pas.
Je ne comprends pas, je vais me résoudre à utiliser
Application.Dialogs(xlDialogOpen).Show
Dans ce cas, ma macro continue normalement mais au bout d'un an,
apparaîtra plus de 52 fichiers dans la boite.

Je suis prêt à tester d'autres idées.

Merci
BH






bonjour Bruno,

essai avec,

With Application
.Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
End With
Workbooks("macro1.xls").Activate

isabelle






Bonsoir,

Non, je suis en "test" la macro est lancée par CTRL+MAJ+M à
partir d'un
fichier qui se nomme macro1.xls
Mon objectif semble simple :
L'utilisateur ouvre un fichier dont il choisit le nom puis la
macro
active un autre fichier (qui est déjà ouvert, la macro finale
sera dans
Perso.xls) pour copier des données.

BH







bonjour Bruno,

est ce que la macro se situe dans le classeur "stat1.xls" ?
est ce que "week du .xls" s'ouvre dans la même application
(instance) ?

isabelle






Bonsoir Philippe,

Malheureusement, non, cela ne donne rien.
Je sèche complètement. Mon fichier s'ouvre parfaitement mais
après on
dirait que je sors de la macro.
Par exemple avec le code ci dessous, le fichier s'ouvre mais je
n'obtiens par 78 en G5.
Dim nomdefichier As String
ChDir "C:BHfacturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week
du
.xls")
Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
Range("G5").Value = 78

D'autres pistes ?
Merci
BH.






























Avatar
isabelle
au plaisir Bruno,

isabelle


Isabelle,

Un sincère très grand bravo.
Quelle persévérance !
Hé oui, j'ai ajouté et cela fonctionne.
Félicitations et encore merci.

BH


salut Bruno,

test bien réussi, pas de plantage sur mon poste,

la seule chose que j'ai modifié, est que j'ai ajouter un "" à la fin sur
la ligne :

ChDir "C:zaza"

sur ta macro : ChDir "C:BHfacturation"
y'en a pas, c'est peut être le problème ...

isabelle


Bonsoir,

Non, ce sont des fichiers très simples.
Peux tu essayer de reproduire le code en adaptant les noms et les
directory sur ton poste ?
J'ai essayé, avant de capituler ?, la même manip avec des classeurs
vierges et je bloque pareil.
Le classeur portant le nom de la variable s'ouvre et puis plus rien.
A la suite du code, j'ai ajouté MsgBox (nomdefichier) et rien apparaît.

BH




bonjour Bruno,

y a t'il une macro Workbook_Open ou auto_Open dans le fichier que tu
ouvres ?

isabelle






Bonsoir Isabelle,

Le mystère restera entier.
Ta proposition ne change rien.
Je te confirme que le code ci dessous se bloque après l'ouverture du
fichier "week du xx.xls"
Dim nomdefichier As String
ChDir "C:BHfacturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week du
.xls")
With Application
.Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
End With
Application.Goto
Workbooks("testbh.xls").Sheets("Feuil1").Range("A1")

Je n'aime pas abondonner mais là ...
Merci.
BH






correction pour simple guillemet,

Application.Goto Workbooks("stat1.xls").Sheets("Feuil1").Range("A1")

isabelle





bonjour Bruno,

essaie comme ça,

Application.Goto Workbooks(""stat1.xls"").Sheets("Feuil1").Range("A1")
en adaptant le nom de la feuille.

isabelle





Oui, je vois les classeurs.
J'ai même essayé sur un autre micro, même chose.
Le phénomène est bizarre, le fichier s'ouvre et il semblerait qu'il
faille d'abord cliquer dans une cellule pour "récupérer" la main.

Cordialement.

BH






bonjour Bruno,

si tu selectionne au menu, Fenêtre
est ce que tu voie le nom de tous les classeurs ouvert ?

http://cjoint.com/?kiwPSI5yTF

isabelle






Bonsoir Isabelle,

Je viens d'essayer ta proposition.
Cela ne fonctionne pas.
Je ne comprends pas, je vais me résoudre à utiliser
Application.Dialogs(xlDialogOpen).Show
Dans ce cas, ma macro continue normalement mais au bout d'un an,
apparaîtra plus de 52 fichiers dans la boite.

Je suis prêt à tester d'autres idées.

Merci
BH







bonjour Bruno,

essai avec,

With Application
.Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
End With
Workbooks("macro1.xls").Activate

isabelle







Bonsoir,

Non, je suis en "test" la macro est lancée par CTRL+MAJ+M à
partir d'un
fichier qui se nomme macro1.xls
Mon objectif semble simple :
L'utilisateur ouvre un fichier dont il choisit le nom puis la
macro
active un autre fichier (qui est déjà ouvert, la macro finale
sera dans
Perso.xls) pour copier des données.

BH








bonjour Bruno,

est ce que la macro se situe dans le classeur "stat1.xls" ?
est ce que "week du .xls" s'ouvre dans la même application
(instance) ?

isabelle







Bonsoir Philippe,

Malheureusement, non, cela ne donne rien.
Je sèche complètement. Mon fichier s'ouvre parfaitement mais
après on
dirait que je sors de la macro.
Par exemple avec le code ci dessous, le fichier s'ouvre mais je
n'obtiens par 78 en G5.
Dim nomdefichier As String
ChDir "C:BHfacturation"
nomdefichier = InputBox("Saisir le nom du fichier", "", "week
du
.xls")
Workbooks.Open Filename:=nomdefichier, Origin:=xlWindows
Range("G5").Value = 78

D'autres pistes ?
Merci
BH.
































1 2