Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

trouver le texte à partir d'un espace via vba

4 réponses
Avatar
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

4 réponses

Avatar
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" a écrit dans le message de groupe de discussion :

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
Avatar
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)
Avatar
marc
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" a écrit dans le message de news:
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)





Avatar
MichDenis
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" a écrit dans le message de groupe de discussion :
#
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" a écrit dans le message de groupe de discussion :

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