Extraire dernier mot (nombre de caracteres aleatoires) d'une cellule

Delux

XLDnaute Occasionnel
Bonjour a tous,

Desole pour les accents je bosse sur QWERTY.

Je souhaite extraire le dernier mot d'une cellule dont le nombre de caracteres est aleatoire.

Ex: la cellule Z2 contient : "C:\Documents and Settings\clt\Desktop\blabla\Monthly Meeting\Users
Je souhaite extraire en AA2 = "Users".

Cependant, Z2 est succeptible de changer, "C:\Documents and Settings\clt\Desktop\blabla\Monthly Meeting\Archives"

etc...

Auriez vous une solution pour ce probleme?

Merci d'avance.

Cordialement,

Delux
 

Dugenou

XLDnaute Barbatruc
Re : Extraire dernier mot (nombre de caracteres aleatoires) d'une cellule

Bonjour,
Si tu travailles toujours dans le même répertoire, le nb de caractères à éliminer est fixe (61 dans ton exemple avec blabla).
Donc avec : =DROITE(Z2;NBCAR(Z2)-61)
Cordialement
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Extraire dernier mot (nombre de caracteres aleatoires) d'une cellule

Bonjour Delux, Dugenou, bonjour le forum

Une proposition VBA :
Code:
Sub Macro1()
'la fonction "Split" sépare les parties entre le délimiteur (ici "\") sous forme de tableau
'la fonction Ubound renvoie le nombre du dernier élément d'un tableau
Range("AA2").Value = Split(Range("Z2").Value, "\")(UBound(Split(Range("Z2").Value, "\")))
End Sub
 

Delux

XLDnaute Occasionnel
Re : Extraire dernier mot (nombre de caracteres aleatoires) d'une cellule

Bonjour Delux, Dugenou, bonjour le forum

Une proposition VBA :
Code:
Sub Macro1()
'la fonction "Split" sépare les parties entre le délimiteur (ici "\") sous forme de tableau
'la fonction Ubound renvoie le nombre du dernier élément d'un tableau
Range("AA2").Value = Split(Range("Z2").Value, "\")(UBound(Split(Range("Z2").Value, "\")))
End Sub

Robert,

Juste par curiosite, si je veux le dernier mot et le precedent ("Monthly Meeting\Users"), comment modifier votre macro pour y parvenir?

Merci d'avance

Cordialement,

Delux
 

R@chid

XLDnaute Barbatruc
Re : Extraire dernier mot (nombre de caracteres aleatoires) d'une cellule

Bonsoir @ tous,
Salut Dugenou :), Salut Robert :eek:,

une solution par formule, si les données sont en Colonne A, en B2,

Formule Classique,
Code:
=DROITE(A2;NBCAR(A2)-TROUVE("*";SUBSTITUE(A2;"\";"*";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"\";"")))))
@ valider par Simple Entree
@ tirer vers le bas

Formule Matricielle,
Code:
=DROITE(A2;EQUIV("\";STXT(A2;NBCAR(A2)-LIGNE(INDIRECT("1:"&NBCAR(A2)));1);0))
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas

Voir PJ...

Amicalement
 

Pièces jointes

  • Delux.xlsx
    9.5 KB · Affichages: 87
  • Delux.xlsx
    9.5 KB · Affichages: 100
  • Delux.xlsx
    9.5 KB · Affichages: 92

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87