trouver le texte à partir d'un espace via vba

Le
marc
Bonjour
J'aimerais être capable de sortir le texte à partir de la droite jusqu'à un espace

exemple:
A1= Fred Caillou Conseiler aux ventes, HANNOVER NIEDERSACHSEN GERMANY
J'aimerais avoir en B1
B1= Germany
Le texte est déjà importé en excel. Alors j'aimerais avoir une solution en VBA, mais si je sais qu'on peut le faire via une formule.
La macro devrait s'exécuter sur les cellules sélectionnés car chaque fichier n'ont pas le même nombre de ligne.
Merci de votre aide
Marc
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19381841
Bonjour Marc,

Pour trouver le dernier mot dans une cellule séparé par un espace :

Validation matricielle : Ctrl + maj + enter

=STXT(A1;MAX((NON(ESTERREUR(CHERCHE(" ";A1;LIGNE(INDIRECT("1:"&NBCAR(A1))))="
")))*LIGNE(INDIRECT("1:"&NBCAR(A1))))+1;50)

Si la cellule ne contient pas un espace, cela retourne son contenu.


"marc"
Bonjour
J'aimerais être capable de sortir le texte à partir de la droite jusqu'à un espace

exemple:
A1= Fred Caillou Conseiler aux ventes, HANNOVER NIEDERSACHSEN GERMANY
J'aimerais avoir en B1
B1= Germany
Le texte est déjà importé en excel. Alors j'aimerais avoir une solution en VBA, mais si je
sais qu'on peut le faire via une formule.
La macro devrait s'exécuter sur les cellules sélectionnés car chaque fichier n'ont pas le
même nombre de ligne.
Merci de votre aide
Marc
MichDenis
Le #19382021
Une fonction en VBA,

requiert excel 2000 ou plus récent.
'-----------------------------
Function Dernier_Mot(X As Range)
Dim T As Variant
On Error Resume Next
T = Split(X, " ")(UBound(Split(X, " ")))
If IsEmpty(T) Then Dernier_Mot = "" Else: Dernier_Mot = T
End Function
'-----------------------------

Dans la cellule tu écris : Þrnier_Mot(A1)
marc
Le #19382201
Bonjour MichDenis et Serge
Je dois être bête car rien ne fonctionne
Voici un exemple de mon document
Merci beaucoup de votre aide
Marc

http://cjoint.com/?fvq34z64HH


"MichDenis"
Une fonction en VBA,

requiert excel 2000 ou plus récent.
'-----------------------------
Function Dernier_Mot(X As Range)
Dim T As Variant
On Error Resume Next
T = Split(X, " ")(UBound(Split(X, " ")))
If IsEmpty(T) Then Dernier_Mot = "" Else: Dernier_Mot = T
End Function
'-----------------------------

Dans la cellule tu écris : Þrnier_Mot(A1)





MichDenis
Le #19382941
Pour adapter la formule si c'est un espace insécable (ascii(160) plutôt qu'un espace
(ascii(32))
la formule devient :

=STXT(A1;MAX((NON(ESTERREUR(CHERCHE(CAR(160);A1;LIGNE(INDIRECT("1:"&NBCAR(A1))))ÊR(160))))*LIGNE(INDIRECT("1:"&NBCAR(A1))))+1;25)

Et la fonction personnalisée à mettre dans un module standard :
'------------------------------
Function Dernier_Mot(X As Range)
Dim T As Variant
On Error Resume Next
T = Split(X, Chr(160))(UBound(Split(X, Chr(160))))
If IsEmpty(T) Then Dernier_Mot = Rg Else: Dernier_Mot = T
End Function
'-------------------------------------


"MichDenis" #
Bonjour Marc,

Pour trouver le dernier mot dans une cellule séparé par un espace :

Validation matricielle : Ctrl + maj + enter

=STXT(A1;MAX((NON(ESTERREUR(CHERCHE(" ";A1;LIGNE(INDIRECT("1:"&NBCAR(A1))))="
")))*LIGNE(INDIRECT("1:"&NBCAR(A1))))+1;50)

Si la cellule ne contient pas un espace, cela retourne son contenu.


"marc"
Bonjour
J'aimerais être capable de sortir le texte à partir de la droite jusqu'à un espace

exemple:
A1= Fred Caillou Conseiler aux ventes, HANNOVER NIEDERSACHSEN GERMANY
J'aimerais avoir en B1
B1= Germany
Le texte est déjà importé en excel. Alors j'aimerais avoir une solution en VBA, mais si je
sais qu'on peut le faire via une formule.
La macro devrait s'exécuter sur les cellules sélectionnés car chaque fichier n'ont pas le
même nombre de ligne.
Merci de votre aide
Marc
Publicité
Poster une réponse
Anonyme