Extraire une chaine sous excel avec VBA

komgan Messages postés 2 Date d'inscription dimanche 21 novembre 2004 Statut Membre Dernière intervention 22 novembre 2004 - 21 nov. 2004 à 14:19
komgan Messages postés 2 Date d'inscription dimanche 21 novembre 2004 Statut Membre Dernière intervention 22 novembre 2004 - 22 nov. 2004 à 19:28
Salut à tous j'ai un gros problème.
Je souhaite extraire une partie de cellule sous excel vers une autre cellule.

exemple: j'ai une cellule avec "01.fichier01.doc" et je souhaite extraire "fichier01" vers une autre cellule pour faire une liste des titres de mes fichiers.

EN utilisant VBA intégré à excel je n'arrive pas à lui faire prendre seulement une partie du texte de la cellule.
EN gros je souhaite qu'il prenne tout les caractères entre les points.

Merci d'avance

3 réponses

cs_Geff Messages postés 192 Date d'inscription vendredi 2 mars 2001 Statut Membre Dernière intervention 10 janvier 2006
21 nov. 2004 à 15:53
Utilise la fonction Instr()

Elle renvoit la position d'un caractère dans une chaine.

Exemple ::

I=Instr(1,"01.fichier01.doc",".")

I sera égal à 3, car le . est a la troisieme position dans ta chaine.

Cependant il y'a un second point dans ta chaine, tu peux connaitre sa position en faisant ::

J=instr(I+1,"01.fichier01.doc",".")

en effet le premier paramètre de la fonction Instr() permet de savoir a partir d'ou dans la chaine tu fait la recherche.

ensuite pour récupérer la chaine ke tu veux utilise la fontion mid()

Hve A Good Code
#
Geff >:)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
22 nov. 2004 à 10:12
Salut,

En supposant que les separateurs sont toujours les points.

Essaie la fonction split(ChaineACasser, Delimiteur)

Dim a As String
Dim s() As String
a = "01.fichier01.doc"
s = Split(a, ".")
MsgBox s(1)


La fonction Split te retourne un tableau en base 0 contenant tout les elements de la chaine suaf les delimiteur.

dans ton exemple elle retournerai
s(0) = 01
s(1) = fichier01
s(2) = doc

@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
komgan Messages postés 2 Date d'inscription dimanche 21 novembre 2004 Statut Membre Dernière intervention 22 novembre 2004
22 nov. 2004 à 19:28
Un grand merci les gars

(pour info j'ai des fichiers qui s'appellent aussi du style
01. fichier.doc et d'autre 01- fichier.doc mais je me débrouillerai avec ce que vous m'avez écrit ça devrai allez tranquille).

En tout cas c'est super cool à vous deux d'avoir répondu si vite car j'avais près de 5000 ref à faire alors je me voyais mal le faire à la main. Et grâce à vous ça va être fait rapidement.
0
Rejoignez-nous