Bonsoir toi qui me lit.
j'aurai besoin d'un p'tit coup de pouce...
quand je lance la macro, le fichier excel s'enregistre
en text dans un dossier, et m'ouvre a l'aide de l'explorer ce dossier.
Shell "explorer.exe /n," & chemin, vbMinimizedNoFocus
(chemin etant l'arborescence de mon dossier)
et j'aimerais que si le dossier est deja ouvert avec l'explorer,
il ne s'ouvre pas une seconde fois, si je relance ma macro
pour un nouveau fichier ???
Car si j'ai 3 fichiers excel et que je les enregistrent
en text, j'aurai 3 fenetre explorer dans la barre des taches...!
Donc en gros faudrait un code qui mette une CONDITION !
Si mon 2eme fichier texte a le meme chemin que la fenetre
exporer ouverte, l'explorer ne s'ouvre pas !!! idem pour les
autres fichiers...
Est-ce possible ??
Merci pour votre aide.
Max
Bonsoir toi qui me lit.
j'aurai besoin d'un p'tit coup de pouce...
quand je lance la macro, le fichier excel s'enregistre
en text dans un dossier, et m'ouvre a l'aide de l'explorer ce dossier.
Shell "explorer.exe /n," & chemin, vbMinimizedNoFocus
(chemin etant l'arborescence de mon dossier)
et j'aimerais que si le dossier est deja ouvert avec l'explorer,
il ne s'ouvre pas une seconde fois, si je relance ma macro
pour un nouveau fichier ???
Car si j'ai 3 fichiers excel et que je les enregistrent
en text, j'aurai 3 fenetre explorer dans la barre des taches...!
Donc en gros faudrait un code qui mette une CONDITION !
Si mon 2eme fichier texte a le meme chemin que la fenetre
exporer ouverte, l'explorer ne s'ouvre pas !!! idem pour les
autres fichiers...
Est-ce possible ??
Merci pour votre aide.
Max
Bonsoir toi qui me lit.
j'aurai besoin d'un p'tit coup de pouce...
quand je lance la macro, le fichier excel s'enregistre
en text dans un dossier, et m'ouvre a l'aide de l'explorer ce dossier.
Shell "explorer.exe /n," & chemin, vbMinimizedNoFocus
(chemin etant l'arborescence de mon dossier)
et j'aimerais que si le dossier est deja ouvert avec l'explorer,
il ne s'ouvre pas une seconde fois, si je relance ma macro
pour un nouveau fichier ???
Car si j'ai 3 fichiers excel et que je les enregistrent
en text, j'aurai 3 fenetre explorer dans la barre des taches...!
Donc en gros faudrait un code qui mette une CONDITION !
Si mon 2eme fichier texte a le meme chemin que la fenetre
exporer ouverte, l'explorer ne s'ouvre pas !!! idem pour les
autres fichiers...
Est-ce possible ??
Merci pour votre aide.
Max
salut Argy,
comme tu dis, je vais essayer de reformuler ma question...
car tes codes ne m'emmenent pas la ou j'aimerais aller...! :-)
En tout cas, merci vraiment pour ton aide.
alors voici ma macro :(copyright FxM)
-------------------------------------------------------
Sub Enregistrement_TXT()
'Quand un fichier Excel est ouvert depuis R:F_origine###???xxx.xls
'il s'enregistrera au format texte (separateur tabulation) dans
'R:F_travaille###???xxx.txt
nomacc = ActiveWorkbook.FullName
nomfut = Application.Substitute(nomacc, "F_origine", "F_travaille")
nomfut = Application.Substitute(nomfut, ".xls", ".txt")
nomfut = Application.Substitute(nomfut, ".XLS", ".txt")
tablo = Split(nomfut, "")
For A = 0 To UBound(tablo) - 1
chefut = ""
For b = 0 To A
chefut = chefut & "" & tablo(b)
Next b
chefut = Right(chefut, Len(chefut) - 1)
s = Dir(chefut, vbDirectory)
If s = "" Then MkDir chefut
Next A
ActiveWorkbook.SaveAs Filename:=nomfut, FileFormat:=xlText,
CreateBackup:úlse
chemin = StrReverse(nomfut)
chemin = Right(chemin, Len(chemin) - InStr(1, chemin, "") + 1)
chemin = StrReverse(chemin)
Shell "explorer.exe /n," & chemin, vbMinimizedNoFocus
End Sub
-------------------------------------------------
jusque là, elle fonctionne parfaitement.
Cette macro, me permet donc, d'apres un fichier *.xls
placé dans un dossier "R:F_originetoto",
de créer un dossier "R:F_travailletoto",
et d'enregistrer ce fichier en *.txt.
Puis de m'ouvrir avec l'explorer ce nouveau dossier minimizer non actif.
Donc ma manip' est la suivante,
je suis dans le dossier"R:F_origineblablalolo",
j'ai 3 fichiers Excel,
j'ouvre le 1er et travaille dessus,
je lance la macro,
mon fichier est enregistrer en *.txt
et l'explorer est dans la barre des taches
à l'adresse "R:F_travailleblablalolo"...
je verifie mon fichier txt (dans excel) et ferme ce fichier.
J'ouvre dans "R:F_origineblablalolo"
mon 2e fichier *.xls,
...
et je me retrouve avec 2 fenetres "R:F_travailleblablalolo"
dans la barre des taches...
j'ouvre le 3e... 3 fenetres... !!!!
Donc j'aimerais juste que,
si la fenetre "R:F_travailleblablalolo"
est deja ouverte, ben il faudrait ne pas en ouvrir une autre...
(ou fermer l'ancienne pour ouvrir la nouvelle, l'idee est moins bien)
Le tout integrer aux codes ci dessus...
Tu crois que c'est possible ??
C'est obligé de passer par les API ?
juste une boucle IF... THEN... ELSE... END IF ne suffirait pas ?
Merci encore pour tout...
Tinou
salut Argy,
comme tu dis, je vais essayer de reformuler ma question...
car tes codes ne m'emmenent pas la ou j'aimerais aller...! :-)
En tout cas, merci vraiment pour ton aide.
alors voici ma macro :(copyright FxM)
-------------------------------------------------------
Sub Enregistrement_TXT()
'Quand un fichier Excel est ouvert depuis R:F_origine###???xxx.xls
'il s'enregistrera au format texte (separateur tabulation) dans
'R:F_travaille###???xxx.txt
nomacc = ActiveWorkbook.FullName
nomfut = Application.Substitute(nomacc, "F_origine", "F_travaille")
nomfut = Application.Substitute(nomfut, ".xls", ".txt")
nomfut = Application.Substitute(nomfut, ".XLS", ".txt")
tablo = Split(nomfut, "")
For A = 0 To UBound(tablo) - 1
chefut = ""
For b = 0 To A
chefut = chefut & "" & tablo(b)
Next b
chefut = Right(chefut, Len(chefut) - 1)
s = Dir(chefut, vbDirectory)
If s = "" Then MkDir chefut
Next A
ActiveWorkbook.SaveAs Filename:=nomfut, FileFormat:=xlText,
CreateBackup:úlse
chemin = StrReverse(nomfut)
chemin = Right(chemin, Len(chemin) - InStr(1, chemin, "") + 1)
chemin = StrReverse(chemin)
Shell "explorer.exe /n," & chemin, vbMinimizedNoFocus
End Sub
-------------------------------------------------
jusque là, elle fonctionne parfaitement.
Cette macro, me permet donc, d'apres un fichier *.xls
placé dans un dossier "R:F_originetoto",
de créer un dossier "R:F_travailletoto",
et d'enregistrer ce fichier en *.txt.
Puis de m'ouvrir avec l'explorer ce nouveau dossier minimizer non actif.
Donc ma manip' est la suivante,
je suis dans le dossier"R:F_origineblablalolo",
j'ai 3 fichiers Excel,
j'ouvre le 1er et travaille dessus,
je lance la macro,
mon fichier est enregistrer en *.txt
et l'explorer est dans la barre des taches
à l'adresse "R:F_travailleblablalolo"...
je verifie mon fichier txt (dans excel) et ferme ce fichier.
J'ouvre dans "R:F_origineblablalolo"
mon 2e fichier *.xls,
...
et je me retrouve avec 2 fenetres "R:F_travailleblablalolo"
dans la barre des taches...
j'ouvre le 3e... 3 fenetres... !!!!
Donc j'aimerais juste que,
si la fenetre "R:F_travailleblablalolo"
est deja ouverte, ben il faudrait ne pas en ouvrir une autre...
(ou fermer l'ancienne pour ouvrir la nouvelle, l'idee est moins bien)
Le tout integrer aux codes ci dessus...
Tu crois que c'est possible ??
C'est obligé de passer par les API ?
juste une boucle IF... THEN... ELSE... END IF ne suffirait pas ?
Merci encore pour tout...
Tinou
salut Argy,
comme tu dis, je vais essayer de reformuler ma question...
car tes codes ne m'emmenent pas la ou j'aimerais aller...! :-)
En tout cas, merci vraiment pour ton aide.
alors voici ma macro :(copyright FxM)
-------------------------------------------------------
Sub Enregistrement_TXT()
'Quand un fichier Excel est ouvert depuis R:F_origine###???xxx.xls
'il s'enregistrera au format texte (separateur tabulation) dans
'R:F_travaille###???xxx.txt
nomacc = ActiveWorkbook.FullName
nomfut = Application.Substitute(nomacc, "F_origine", "F_travaille")
nomfut = Application.Substitute(nomfut, ".xls", ".txt")
nomfut = Application.Substitute(nomfut, ".XLS", ".txt")
tablo = Split(nomfut, "")
For A = 0 To UBound(tablo) - 1
chefut = ""
For b = 0 To A
chefut = chefut & "" & tablo(b)
Next b
chefut = Right(chefut, Len(chefut) - 1)
s = Dir(chefut, vbDirectory)
If s = "" Then MkDir chefut
Next A
ActiveWorkbook.SaveAs Filename:=nomfut, FileFormat:=xlText,
CreateBackup:úlse
chemin = StrReverse(nomfut)
chemin = Right(chemin, Len(chemin) - InStr(1, chemin, "") + 1)
chemin = StrReverse(chemin)
Shell "explorer.exe /n," & chemin, vbMinimizedNoFocus
End Sub
-------------------------------------------------
jusque là, elle fonctionne parfaitement.
Cette macro, me permet donc, d'apres un fichier *.xls
placé dans un dossier "R:F_originetoto",
de créer un dossier "R:F_travailletoto",
et d'enregistrer ce fichier en *.txt.
Puis de m'ouvrir avec l'explorer ce nouveau dossier minimizer non actif.
Donc ma manip' est la suivante,
je suis dans le dossier"R:F_origineblablalolo",
j'ai 3 fichiers Excel,
j'ouvre le 1er et travaille dessus,
je lance la macro,
mon fichier est enregistrer en *.txt
et l'explorer est dans la barre des taches
à l'adresse "R:F_travailleblablalolo"...
je verifie mon fichier txt (dans excel) et ferme ce fichier.
J'ouvre dans "R:F_origineblablalolo"
mon 2e fichier *.xls,
...
et je me retrouve avec 2 fenetres "R:F_travailleblablalolo"
dans la barre des taches...
j'ouvre le 3e... 3 fenetres... !!!!
Donc j'aimerais juste que,
si la fenetre "R:F_travailleblablalolo"
est deja ouverte, ben il faudrait ne pas en ouvrir une autre...
(ou fermer l'ancienne pour ouvrir la nouvelle, l'idee est moins bien)
Le tout integrer aux codes ci dessus...
Tu crois que c'est possible ??
C'est obligé de passer par les API ?
juste une boucle IF... THEN... ELSE... END IF ne suffirait pas ?
Merci encore pour tout...
Tinou