Création classeur vba
Résolu/Fermé
Sorus
-
23 sept. 2009 à 09:03
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 23 sept. 2009 à 12:21
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 23 sept. 2009 à 12:21
Bonjour,
J'aimerais créer un nouveau classeur uniquement si celui ci n'existe pas, le probleme est que je ne sais pas comment tester si le fichier existe car je suppose qu'un simple test sur le fichier ne renverra pas vrai ou faux mais qu'il y'a une fonction spécifique pour ceci..
merci
J'aimerais créer un nouveau classeur uniquement si celui ci n'existe pas, le probleme est que je ne sais pas comment tester si le fichier existe car je suppose qu'un simple test sur le fichier ne renverra pas vrai ou faux mais qu'il y'a une fonction spécifique pour ceci..
merci
A voir également:
- Création classeur vba
- Creation compte gmail - Guide
- Création site web - Guide
- Création compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Logiciel création karaoké gratuit - Télécharger - DJ & Karaoké
9 réponses
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
295
23 sept. 2009 à 09:28
23 sept. 2009 à 09:28
Tiens un cadeau...
Sub test()
chemin = "C:\DATA\"
fichier = "essai.txt"
If isFileExist(chemin + fichier) Then
'existe
'fais ce que tu veux...
Else
'n'existe pas
'
End If
End Sub
' voici la fonction de test
' le principe ...essayer de lire un fichier s'il provoque l'erreur 53 --> pas de fichier
Function isFileExist(filename As String)
Dim NumFichier As Integer, Errnum As Integer
Err.Clear
On Error Resume Next
NumFichier = FreeFile()
Open filename For Input Lock Read As #NumFichier
Close NumFichier
Errnum = Err
On Error GoTo 0
Select Case Errnum
Case 0
isFileExist = True
Case 53
isFileExist = False
End Select
End Function
A+
Sub test()
chemin = "C:\DATA\"
fichier = "essai.txt"
If isFileExist(chemin + fichier) Then
'existe
'fais ce que tu veux...
Else
'n'existe pas
'
End If
End Sub
' voici la fonction de test
' le principe ...essayer de lire un fichier s'il provoque l'erreur 53 --> pas de fichier
Function isFileExist(filename As String)
Dim NumFichier As Integer, Errnum As Integer
Err.Clear
On Error Resume Next
NumFichier = FreeFile()
Open filename For Input Lock Read As #NumFichier
Close NumFichier
Errnum = Err
On Error GoTo 0
Select Case Errnum
Case 0
isFileExist = True
Case 53
isFileExist = False
End Select
End Function
A+
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
23 sept. 2009 à 10:38
23 sept. 2009 à 10:38
Bonjour,
Une autre astuce :
;o)
Une autre astuce :
Public Function isFileExist(ByVal pFullPathFile As String) As Boolean If Dir(pFullPathFile, vbHidden) <> "" Then isFileExist= True Else isFileExist= False End If End Function
;o)
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
295
23 sept. 2009 à 11:01
23 sept. 2009 à 11:01
ActiveWorkbook.SaveAs "Synthese " & Projet
je ne sais pas ce qu'il y a dans Projet mais ....
voici la syntaxe
Chemin doit contenir quelque chose comme "C:\Data\" ...par exemple
et nom_fichier doit contenir "lenomdufichier.xls"
ce qui donne
Dim Chemin as sting
Chemin="C:\Data"
ActiveWorkbook.SaveAs Chemin & "\Synthese " & Projet & ".xls"
je ne sais pas ce qu'il y a dans Projet mais ....
voici la syntaxe
Chemin doit contenir quelque chose comme "C:\Data\" ...par exemple
et nom_fichier doit contenir "lenomdufichier.xls"
ce qui donne
Dim Chemin as sting
Chemin="C:\Data"
ActiveWorkbook.SaveAs Chemin & "\Synthese " & Projet & ".xls"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
295
23 sept. 2009 à 10:45
23 sept. 2009 à 10:45
Ok! Polux31...
je te l'accorde la tienne est mieux présentée, plus courte, plus simple ... et ça marche c'est donc meilleur!
mais la mienne marche aussi... je sais plus pourquoi j'avais écris ce truc là.
Je t'accorde un bon point et mission accomplie.
reste plus qu'à avoir merci et résolu .
A+
R
je te l'accorde la tienne est mieux présentée, plus courte, plus simple ... et ça marche c'est donc meilleur!
mais la mienne marche aussi... je sais plus pourquoi j'avais écris ce truc là.
Je t'accorde un bon point et mission accomplie.
reste plus qu'à avoir merci et résolu .
A+
R
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
23 sept. 2009 à 11:22
23 sept. 2009 à 11:22
Re,
Je n'ai présenté ça que comme une autre astuce, qui est d'utiliser la fonction Dir() et vbHidden.
En aucun cas je n'ai remis en cause ta proposition.
;o)
Je n'ai présenté ça que comme une autre astuce, qui est d'utiliser la fonction Dir() et vbHidden.
En aucun cas je n'ai remis en cause ta proposition.
;o)
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
295
>
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
23 sept. 2009 à 11:29
23 sept. 2009 à 11:29
ne t'inquiète ... aucune offense de ma part plutôt un grand respect..
même entre les lignes du VBA j'arrive à voir qui sait et qui apprend.
Toi tu sais.
Je préfère te compter parmi mes "hepeurs" préférés.
ca marche?
même entre les lignes du VBA j'arrive à voir qui sait et qui apprend.
Toi tu sais.
Je préfère te compter parmi mes "hepeurs" préférés.
ca marche?
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
>
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
23 sept. 2009 à 12:21
23 sept. 2009 à 12:21
Oula ... je n'apportais qu'une précision ... je ne suis nullement froissé. T'inquiète, ça marche pas, ça court pour moi ^^
Il faut partir du principe que l'on ne sait rien ou que l'on sait peu de chose. Celui qui détient le savoir, n'est pas de ce monde ou appartient aux illuminés divins ... et moi, je suis de ce monde et ne prétends pas appartenir à la seconde catégorie .. ^^
Comme je l'ai déjà dit, pour un problème, il n'y a pas de solution meilleure qu'une autre, il y a une solution ou des solutions pertinentes, tant que le résultat attendu est correct.
Bon app. @+
;o)
Il faut partir du principe que l'on ne sait rien ou que l'on sait peu de chose. Celui qui détient le savoir, n'est pas de ce monde ou appartient aux illuminés divins ... et moi, je suis de ce monde et ne prétends pas appartenir à la seconde catégorie .. ^^
Comme je l'ai déjà dit, pour un problème, il n'y a pas de solution meilleure qu'une autre, il y a une solution ou des solutions pertinentes, tant que le résultat attendu est correct.
Bon app. @+
;o)
Juste une autre question,
j'aimerais ainsi renommer le fichier s'il existe, voici mon code
Mais sa me dit juste que le fichier existe déjà et si je veux l'enregistrer, or il n'existe pas et quand je l'enregistre impossible de le trouver..
j'aimerais ainsi renommer le fichier s'il existe, voici mon code
ActiveWorkbook.SaveAs "Synthese " & Projet
Mais sa me dit juste que le fichier existe déjà et si je veux l'enregistrer, or il n'existe pas et quand je l'enregistre impossible de le trouver..
Ok merci je ne pensais pas qu'il fallait le chemin complet et l'extension,
projet contient une chaine de caractere.
Merci
A+
projet contient une chaine de caractere.
Merci
A+
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
295
23 sept. 2009 à 11:12
23 sept. 2009 à 11:12
Note aussi que du fait que tu as enregistré ton classeur
il doit y avoir un fichier excel sans extension quelque pat sur ton disque dur.
en fait
il se trouve à thisworkbook.path
tu peux aussi le retrouver avec l'explorateur windows.... je dis ça car dans 6 mois tu te demanderas à quoi il sert ce fichier
;)
il doit y avoir un fichier excel sans extension quelque pat sur ton disque dur.
en fait
il se trouve à thisworkbook.path
tu peux aussi le retrouver avec l'explorateur windows.... je dis ça car dans 6 mois tu te demanderas à quoi il sert ce fichier
;)