comment différencier en enregistrement des fichiers portant le même nom
3 réponses
Poclain
Bonjour,
J'ai une macro qui ouvre en boucle des fichiers, pour chaque fichier, je
récupère des données qui sont copiées dans un nouveau classeur.
Le nouveau classeur que je viens de créer, je l'enregistre sous un nom :
(toto.xls par exemple).
De temps en temps, la macro se bloque car le nom de fichier toto.xls existe
déjà.
Je souhaiterai que la macro ne se bloque pas et au lieu de m'afficher que
le nom existe déjà, enregistre dans ce cas là sous un autre nom : (toto1.xls
par exemple)
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
Argyronet
Bonjour,
Parmi toutes les possibilités, en voici une :
Private Function GetFileName(ByVal FileName As String, ByVal PathName As String) As String Const XLS_EXTENSION As String = ".xls" Dim intFileIndex As Integer Dim blnAlreadyExist As Boolean Dim strTempFileName As String
blnAlreadyExist = True strTempFileName = FileName & XLS_EXTENSION Do If Dir(PathName & strTempFileName) = strTempFileName Then intFileIndex = intFileIndex + 1 strTempFileName = FileName & intFileIndex & XLS_EXTENSION Else blnAlreadyExist = False End If Loop Until blnAlreadyExist = False GetFileName = PathName & strTempFileName End Function
Sub TEST() Dim strFilename As String Dim strPathName As String
strFilename = "Classeur" strPathName = "C:_Tests"
ActiveWorkbook.SaveAs GetFileName(strFilename, strPathName) End Sub -- Argy http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour, J'ai une macro qui ouvre en boucle des fichiers, pour chaque fichier, je récupère des données qui sont copiées dans un nouveau classeur. Le nouveau classeur que je viens de créer, je l'enregistre sous un nom : (toto.xls par exemple). De temps en temps, la macro se bloque car le nom de fichier toto.xls existe déjà. Je souhaiterai que la macro ne se bloque pas et au lieu de m'afficher que le nom existe déjà, enregistre dans ce cas là sous un autre nom : (toto1.xls par exemple)
Merci d'avance
Bonjour,
Parmi toutes les possibilités, en voici une :
Private Function GetFileName(ByVal FileName As String, ByVal PathName As
String) As String
Const XLS_EXTENSION As String = ".xls"
Dim intFileIndex As Integer
Dim blnAlreadyExist As Boolean
Dim strTempFileName As String
blnAlreadyExist = True
strTempFileName = FileName & XLS_EXTENSION
Do
If Dir(PathName & strTempFileName) = strTempFileName Then
intFileIndex = intFileIndex + 1
strTempFileName = FileName & intFileIndex & XLS_EXTENSION
Else
blnAlreadyExist = False
End If
Loop Until blnAlreadyExist = False
GetFileName = PathName & strTempFileName
End Function
Sub TEST()
Dim strFilename As String
Dim strPathName As String
strFilename = "Classeur"
strPathName = "C:_Tests"
ActiveWorkbook.SaveAs GetFileName(strFilename, strPathName)
End Sub
--
Argy
http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour,
J'ai une macro qui ouvre en boucle des fichiers, pour chaque fichier, je
récupère des données qui sont copiées dans un nouveau classeur.
Le nouveau classeur que je viens de créer, je l'enregistre sous un nom :
(toto.xls par exemple).
De temps en temps, la macro se bloque car le nom de fichier toto.xls existe
déjà.
Je souhaiterai que la macro ne se bloque pas et au lieu de m'afficher que
le nom existe déjà, enregistre dans ce cas là sous un autre nom : (toto1.xls
par exemple)
Private Function GetFileName(ByVal FileName As String, ByVal PathName As String) As String Const XLS_EXTENSION As String = ".xls" Dim intFileIndex As Integer Dim blnAlreadyExist As Boolean Dim strTempFileName As String
blnAlreadyExist = True strTempFileName = FileName & XLS_EXTENSION Do If Dir(PathName & strTempFileName) = strTempFileName Then intFileIndex = intFileIndex + 1 strTempFileName = FileName & intFileIndex & XLS_EXTENSION Else blnAlreadyExist = False End If Loop Until blnAlreadyExist = False GetFileName = PathName & strTempFileName End Function
Sub TEST() Dim strFilename As String Dim strPathName As String
strFilename = "Classeur" strPathName = "C:_Tests"
ActiveWorkbook.SaveAs GetFileName(strFilename, strPathName) End Sub -- Argy http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour, J'ai une macro qui ouvre en boucle des fichiers, pour chaque fichier, je récupère des données qui sont copiées dans un nouveau classeur. Le nouveau classeur que je viens de créer, je l'enregistre sous un nom : (toto.xls par exemple). De temps en temps, la macro se bloque car le nom de fichier toto.xls existe déjà. Je souhaiterai que la macro ne se bloque pas et au lieu de m'afficher que le nom existe déjà, enregistre dans ce cas là sous un autre nom : (toto1.xls par exemple)
Merci d'avance
Poclain
Bonjour, Merci Argyronet, pour la réponse. C'est super, cela marche à merveille, C'est exactement ce que je cherchais. Comment faites-vous pour répondre aussi vite et aussi juste ? Encore merci.
"Argyronet" a écrit dans le message de news:
Bonjour,
Parmi toutes les possibilités, en voici une :
Private Function GetFileName(ByVal FileName As String, ByVal PathName As String) As String Const XLS_EXTENSION As String = ".xls" Dim intFileIndex As Integer Dim blnAlreadyExist As Boolean Dim strTempFileName As String
blnAlreadyExist = True strTempFileName = FileName & XLS_EXTENSION Do If Dir(PathName & strTempFileName) = strTempFileName Then intFileIndex = intFileIndex + 1 strTempFileName = FileName & intFileIndex & XLS_EXTENSION Else blnAlreadyExist = False End If Loop Until blnAlreadyExist = False GetFileName = PathName & strTempFileName End Function
Sub TEST() Dim strFilename As String Dim strPathName As String
strFilename = "Classeur" strPathName = "C:_Tests"
ActiveWorkbook.SaveAs GetFileName(strFilename, strPathName) End Sub -- Argy http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour, J'ai une macro qui ouvre en boucle des fichiers, pour chaque fichier, je récupère des données qui sont copiées dans un nouveau classeur. Le nouveau classeur que je viens de créer, je l'enregistre sous un nom : (toto.xls par exemple). De temps en temps, la macro se bloque car le nom de fichier toto.xls existe déjà. Je souhaiterai que la macro ne se bloque pas et au lieu de m'afficher que le nom existe déjà, enregistre dans ce cas là sous un autre nom : (toto1.xls par exemple)
Merci d'avance
Bonjour,
Merci Argyronet, pour la réponse.
C'est super, cela marche à merveille,
C'est exactement ce que je cherchais. Comment faites-vous pour répondre
aussi vite et aussi juste ?
Encore merci.
"Argyronet" <Argyronet@discussions.microsoft.com> a écrit dans le message de
news: 774F75F1-F67B-45AD-B7B8-70F1FA9808E0@microsoft.com...
Bonjour,
Parmi toutes les possibilités, en voici une :
Private Function GetFileName(ByVal FileName As String, ByVal PathName As
String) As String
Const XLS_EXTENSION As String = ".xls"
Dim intFileIndex As Integer
Dim blnAlreadyExist As Boolean
Dim strTempFileName As String
blnAlreadyExist = True
strTempFileName = FileName & XLS_EXTENSION
Do
If Dir(PathName & strTempFileName) = strTempFileName Then
intFileIndex = intFileIndex + 1
strTempFileName = FileName & intFileIndex & XLS_EXTENSION
Else
blnAlreadyExist = False
End If
Loop Until blnAlreadyExist = False
GetFileName = PathName & strTempFileName
End Function
Sub TEST()
Dim strFilename As String
Dim strPathName As String
strFilename = "Classeur"
strPathName = "C:_Tests"
ActiveWorkbook.SaveAs GetFileName(strFilename, strPathName)
End Sub
--
Argy
http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on
obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour,
J'ai une macro qui ouvre en boucle des fichiers, pour chaque fichier, je
récupère des données qui sont copiées dans un nouveau classeur.
Le nouveau classeur que je viens de créer, je l'enregistre sous un nom :
(toto.xls par exemple).
De temps en temps, la macro se bloque car le nom de fichier toto.xls
existe
déjà.
Je souhaiterai que la macro ne se bloque pas et au lieu de m'afficher
que
le nom existe déjà, enregistre dans ce cas là sous un autre nom :
(toto1.xls
par exemple)
Bonjour, Merci Argyronet, pour la réponse. C'est super, cela marche à merveille, C'est exactement ce que je cherchais. Comment faites-vous pour répondre aussi vite et aussi juste ? Encore merci.
"Argyronet" a écrit dans le message de news:
Bonjour,
Parmi toutes les possibilités, en voici une :
Private Function GetFileName(ByVal FileName As String, ByVal PathName As String) As String Const XLS_EXTENSION As String = ".xls" Dim intFileIndex As Integer Dim blnAlreadyExist As Boolean Dim strTempFileName As String
blnAlreadyExist = True strTempFileName = FileName & XLS_EXTENSION Do If Dir(PathName & strTempFileName) = strTempFileName Then intFileIndex = intFileIndex + 1 strTempFileName = FileName & intFileIndex & XLS_EXTENSION Else blnAlreadyExist = False End If Loop Until blnAlreadyExist = False GetFileName = PathName & strTempFileName End Function
Sub TEST() Dim strFilename As String Dim strPathName As String
strFilename = "Classeur" strPathName = "C:_Tests"
ActiveWorkbook.SaveAs GetFileName(strFilename, strPathName) End Sub -- Argy http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour, J'ai une macro qui ouvre en boucle des fichiers, pour chaque fichier, je récupère des données qui sont copiées dans un nouveau classeur. Le nouveau classeur que je viens de créer, je l'enregistre sous un nom : (toto.xls par exemple). De temps en temps, la macro se bloque car le nom de fichier toto.xls existe déjà. Je souhaiterai que la macro ne se bloque pas et au lieu de m'afficher que le nom existe déjà, enregistre dans ce cas là sous un autre nom : (toto1.xls par exemple)
Merci d'avance
Argyronet
Merci Argyronet...C'est exactement ce que je cherchais. Il n'y a pas de quoi. Ma plus grande satisfaction est la votre ;o)
Comment faites-vous pour répondre aussi vite et aussi juste ? Votre question est une situation à laquelle j'ai déjà été personnellement
confronté, donc, facile, une fois qu'on l'a déjà mis en place. -- Argy http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour, Merci Argyronet, pour la réponse. C'est super, cela marche à merveille, C'est exactement ce que je cherchais. Comment faites-vous pour répondre aussi vite et aussi juste ? Encore merci.
Merci Argyronet...C'est exactement ce que je cherchais.
Il n'y a pas de quoi. Ma plus grande satisfaction est la votre ;o)
Comment faites-vous pour répondre aussi vite et aussi juste ?
Votre question est une situation à laquelle j'ai déjà été personnellement
confronté, donc, facile, une fois qu'on l'a déjà mis en place.
--
Argy
http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour,
Merci Argyronet, pour la réponse.
C'est super, cela marche à merveille,
C'est exactement ce que je cherchais. Comment faites-vous pour répondre
aussi vite et aussi juste ?
Encore merci.
Merci Argyronet...C'est exactement ce que je cherchais. Il n'y a pas de quoi. Ma plus grande satisfaction est la votre ;o)
Comment faites-vous pour répondre aussi vite et aussi juste ? Votre question est une situation à laquelle j'ai déjà été personnellement
confronté, donc, facile, une fois qu'on l'a déjà mis en place. -- Argy http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour, Merci Argyronet, pour la réponse. C'est super, cela marche à merveille, C'est exactement ce que je cherchais. Comment faites-vous pour répondre aussi vite et aussi juste ? Encore merci.