|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
VÉRIFIER LA CONFORMITÉ DU NOM D'UN FICHIER
Information sur la source
Description
Lorsque vous voulez enregistrer un fichier et que le nom est issu d'une variable, par exemple comportant le nom d'une machine, il parait utile de vérifier que tous les caractères qui compose le nom soient autorisés par Windows, sinon, vous risquez d'avoir une erreur que peut-être vous n'avez pas géré. Pour vérifie le nom d'un fichier, simplement : Nom = ValideNomFichier(Nom) Les caractères non autorisés seront remplacés par des traits d'union (par défaut) ou par tout autre caractère si vous utilisez la syntaxe : Nom = ValideNomFichier(Nom, "@") Pour l'utiliser, collez ce code dans un module, ou récupérez le module dans le Zip. C'est tout
Source
- Public Function ValideNomFichier(ByVal sNomFichier As String, _
- Optional sRemplaceCaractèrePar As String = "-") As String
-
- ' Cette fonction renvoie un nom de fichier autorisé
- ' On remplace les mauvais caractères par sRemplaceCaractèrePar
- ' (valeur par défaut = signe moins '-')
- ' Les caractères autorisés sont :
- ' A-Z Lettre + Signe plus
- ' 0-9 Nombre , Virgule
- ' space Espace ; Point-virgule
- ' ' Apostrophe = Signe égal
- ' - Tiret @ Arobase
- ' ! Point d'exclamation [ ] Crochets
- ' # Dièse _ Tiret de soulignement
- ' $ Dollar { } Accolades
- ' % Pour cent ~ Tilde
- ' & Et commercial ` Accent
- ' ( ) Parenthèses . Point
- ' plus toutes les combinaisons valables des lettres avec accents
-
- ' !! Cette fonction ne fonctionne pas avec des chemins complets
- ' puisque le caractère back-slash '\' n'est pas autorisé
-
- Dim Temp As String, Car As String, r As Long
-
- ' Avant de commencer, on va vérifier que le caractère de remplacement est
- ' lui-même autorisé (ce serait trop bête)
- sRemplaceCaractèrePar = Left(sRemplaceCaractèrePar, 1) ' un seul caractère
- If Not (sRemplaceCaractèrePar Like "[A-Z]" Or _
- sRemplaceCaractèrePar Like "[a-z]" Or _
- sRemplaceCaractèrePar Like "[0-9]" Or _
- sRemplaceCaractèrePar Like "[ '!#$%&()+,;=@{}~`.]" Or _
- sRemplaceCaractèrePar Like "[-]" Or _
- sRemplaceCaractèrePar Like "[[]" Or _
- sRemplaceCaractèrePar Like "[]]" Or _
- sRemplaceCaractèrePar Like "[_]" Or _
- sRemplaceCaractèrePar Like "[àéèêïîôùû]") Then _
- sRemplaceCaractèrePar = "-" ' Si non autorisé, impose trait d'union
-
- Temp = sNomFichier
- ' Vérifie que chaque caractère est autorisé
- For r = 1 To Len(Temp)
- Car = Mid(Temp, r, 1)
- If Not (Car Like "[A-Z]" Or _
- Car Like "[a-z]" Or _
- Car Like "[0-9]" Or _
- Car Like "[ '!#$%&()+,;=@{}~`.]" Or _
- Car Like "[-]" Or _
- Car Like "[[]" Or _
- Car Like "[]]" Or _
- Car Like "[_]" Or _
- Car Like "[àéèêïîôùû]") Then _
- Mid(Temp, r, 1) = sRemplaceCaractèrePar
- Next r
-
- ' S'il y a eu plusieurs remplacements à la suite, on va se retrouver avec
- ' plusieurs signes '-' à la queue leuleu : pas joli : On n'en laisse qu'un.
- Do While InStr(1, Temp, sRemplaceCaractèrePar & sRemplaceCaractèrePar) <> 0
- Temp = Replace(Temp, sRemplaceCaractèrePar & sRemplaceCaractèrePar, sRemplaceCaractèrePar)
- DoEvents
- Loop
-
- ' Renvoie le nom modifié
- ValideNomFichier = Temp
-
- End Function
Public Function ValideNomFichier(ByVal sNomFichier As String, _
Optional sRemplaceCaractèrePar As String = "-") As String
' Cette fonction renvoie un nom de fichier autorisé
' On remplace les mauvais caractères par sRemplaceCaractèrePar
' (valeur par défaut = signe moins '-')
' Les caractères autorisés sont :
' A-Z Lettre + Signe plus
' 0-9 Nombre , Virgule
' space Espace ; Point-virgule
' ' Apostrophe = Signe égal
' - Tiret @ Arobase
' ! Point d'exclamation [ ] Crochets
' # Dièse _ Tiret de soulignement
' $ Dollar { } Accolades
' % Pour cent ~ Tilde
' & Et commercial ` Accent
' ( ) Parenthèses . Point
' plus toutes les combinaisons valables des lettres avec accents
' !! Cette fonction ne fonctionne pas avec des chemins complets
' puisque le caractère back-slash '\' n'est pas autorisé
Dim Temp As String, Car As String, r As Long
' Avant de commencer, on va vérifier que le caractère de remplacement est
' lui-même autorisé (ce serait trop bête)
sRemplaceCaractèrePar = Left(sRemplaceCaractèrePar, 1) ' un seul caractère
If Not (sRemplaceCaractèrePar Like "[A-Z]" Or _
sRemplaceCaractèrePar Like "[a-z]" Or _
sRemplaceCaractèrePar Like "[0-9]" Or _
sRemplaceCaractèrePar Like "[ '!#$%&()+,;=@{}~`.]" Or _
sRemplaceCaractèrePar Like "[-]" Or _
sRemplaceCaractèrePar Like "[[]" Or _
sRemplaceCaractèrePar Like "[]]" Or _
sRemplaceCaractèrePar Like "[_]" Or _
sRemplaceCaractèrePar Like "[àéèêïîôùû]") Then _
sRemplaceCaractèrePar = "-" ' Si non autorisé, impose trait d'union
Temp = sNomFichier
' Vérifie que chaque caractère est autorisé
For r = 1 To Len(Temp)
Car = Mid(Temp, r, 1)
If Not (Car Like "[A-Z]" Or _
Car Like "[a-z]" Or _
Car Like "[0-9]" Or _
Car Like "[ '!#$%&()+,;=@{}~`.]" Or _
Car Like "[-]" Or _
Car Like "[[]" Or _
Car Like "[]]" Or _
Car Like "[_]" Or _
Car Like "[àéèêïîôùû]") Then _
Mid(Temp, r, 1) = sRemplaceCaractèrePar
Next r
' S'il y a eu plusieurs remplacements à la suite, on va se retrouver avec
' plusieurs signes '-' à la queue leuleu : pas joli : On n'en laisse qu'un.
Do While InStr(1, Temp, sRemplaceCaractèrePar & sRemplaceCaractèrePar) <> 0
Temp = Replace(Temp, sRemplaceCaractèrePar & sRemplaceCaractèrePar, sRemplaceCaractèrePar)
DoEvents
Loop
' Renvoie le nom modifié
ValideNomFichier = Temp
End Function
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Ouvertures de fichiers [ par Rodolf ]
Comment on fait pour savoir les caractères manquant dans un fichier à un débit assez élevé.C' est pour faire un programme de compression mais quand je
Choisir la police d'un fichier txt ! [ par -=The nul =- ]
Comment fait-on pour que lorsque j'enregistre un fichier txt, le text est la police de caractère "Courier New".Ou la police de caractère de ma textbox
recherche de texte dans un fichier [ par JoeBiloute ]
Amis développeurs,Je cherche une fonction vb qui me permettre d'obtenir que le texte, à partir d'une chaine de caractère issue d'un fichier. Je voudra
Recherche de texte dans un fichier texte [ par yoda ]
Amis développeurs,Je cherche une fonction vb qui me permettre d'obtenir que le texte, à partir d'une chaine de caractère issue d'un fichier. Je voudra
Question sur les fichiers ... [ par Surfurax ]
Bonjour à tous, je voudrais savoir s'il est possible d'ouvrir un fichier, de le lire tout en insérant de nouveaux caractères à certains endroits sans
Recherche de caractères [ par jlouis37 ]
Bonjour,J'ai un fichier doc MS-DOS, que j'ouvre sous Word 2000 ou XP.Word convertit normalement tout seul les caractères DOS en caractères Windows.Le
Problème Commande PUT ajout 00 [ par Spylover ]
Bonjour,J'ouvre un fichier en mode binaire et apres je veux écrire caractère par caractère dedans avec la commande put .Le problème est qu'après chaqu
Prob avec la commande put qui me rajoute 00 [ par Spylover ]
Bonjour,J'ouvre un fichier en mode binaire et apres je veux écrire caractère par caractère dedans avec la commande put .Le problème est qu'après chaqu
Caractère Zarb !!! [ par Docck ]
SalutJ'ai un problème quand je lit un fichier texte :Je lit mon fichier texte ligne par ligne et tous les caractères du genre 'é' dans la ligne sont a
Rechercher une chaine de caractère dans un fichier texte... [ par Luuna ]
Je cherche à convertir un fichier texte en table Access par l'intermédiaire de VB6...Voici le code dont je me sert tiré d'un livre :------------------
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version

LG KP501
Entre 9€ et 159€
|