fonction SPLIT [VBScript] [RESOLU] - VB/VBA/VBS - Programmation
Marsh Posté le 24-02-2006 à 15:45:36
Regarde la fonction InStrRev() qui recherche un caractère dans une chaine en scannant de la fin vers le début.
Cela renverra la position de ton dernier point et à coup de Left$() et Right$(), ça sera un jeu d'enfant de séparer le nom de fichier de son extension
Attention à bien prévoir le cas ou aucun point n'existe dans la chaine.
Marsh Posté le 24-02-2006 à 16:27:49
c'est ptet très bête, mais tes extensions sont elles forcément de 3 caractères ?
si c'est le cas suffit de faire :
Code :
|
si tes extensions sont variables (pas de bol), j'ai un truc
Marsh Posté le 24-02-2006 à 16:31:13
oups...
la voici :
Code :
|
Marsh Posté le 27-02-2006 à 10:40:20
Bonjour,
je vous remercie pour vos réponses,
d'après ce que m'a dit tegu, j'ai réussi à faire ce que je voulais, à savoir séparer l'extension d'un nom de fichier, tout en gardant le nom sans l'extension.
mais il est vrai que ça ne marche qu'avec un extension de 3 caractères, ni plus ni moins.
j'ai donc ensuite essayé la soluce de pilosite, ça fonctionne a merveille pour les extensions.
mais par contre je n'arrive plus à prendre le nom du fichier sans l'extension
je pourrais faire un join de chaque morceau trouvé sans le dernier, mais la encore il faudrait que je connaisse avant le nombre de morceaux.
je m'y replonge
Marsh Posté le 27-02-2006 à 10:46:43
Je suis désolé anthony000, mais tu racontes n'importe quoi.
Ma solution fonctionne quelque soit la longueur de l'extension !
Marsh Posté le 27-02-2006 à 11:11:21
je pense que ça doit être de la façon dont je l'ai fait qui fait que ça ne marche qu'avec une extension de 3 caractères ^_^
Marsh Posté le 27-02-2006 à 15:16:27
j'ai réussi, ça fonctionne normalement maintenant
merci !
Marsh Posté le 24-02-2006 à 15:20:55
bonjour !
j'ai utilisé cette fonction pour définir l'extension pour un fichier saisie dans une inputbox.
je lui ai donc dis de faire la séparation à chaque point, puisque normalement un fichier ne comporte que le point juste avant son extension.
malheureusement, il y a quand même des fichiers avec plusieurs points, et meme si je peux en séparer 2 et joindre les 2 premiers bout pour n'avoir que l'extension, ça marche dans ce cas-la seuleument s'il y a 2 points en tout.
j'ai regardé un peu la fonction split, mais je n'ai pas réussi a trouver si elle permet de splitter le dernier caractère choisi.
car dans ce cas, il n'y aurait aucun probleme : meme s'il y a 50 points, l'extension serait définie par le tout dernier.
j'ai besoin de faire comme ça par rapport à une recherche de fichier en WMI, qui demande le "filename" et "extension", j'ai cherché s'il existe un moyen de prendre un nom de fichier en entier dans une seule variable WMI, mais si je cherche test.txt ou test, basé sur le "filename", le résultat ne me convient pas (il cherche test.txt et me trouve test.txt.ink donc pour lui je n'avais pas indiqué l'extension - ou bien cherche tout les fichier ayant test dans leur nom)
merci encore d'avance ! ^_^
Message édité par anthony0000 le 27-02-2006 à 15:16:43