Extraire uniquement les mots, contenus dans une cellule

Fermé
gexelpas - 16 sept. 2014 à 16:00
 gexelpas - 18 sept. 2014 à 06:03
Bonjour,

Dans une cellule, j'ai des mots avec des espaces entre chacun, mais également des chiffres

Ce que je souhaite, c'est extraire uniquement les mots, en respectant les espaces & les placer dans la cellule voisine.

2 exemples:

MAISON PLEIN PIED - 800 m2: Résultat souhaité: MAISON PLEIN PIED

200 APPARTEMENT EN RDC-BRIGNAIS: Résultat souhaité: APPARTEMENT EN RDC-BRIGNAIS

(attention, le - dans les 2 exemples est présent mais dans le 1er cas il y'a un espace avant et après, alors que dans le 2ème cas, il n'est pas encadré par un espace).

Je me casse les dents sur les formules à mettre en place, si cela est possible...?
Si pas possible avec des formules, peut être avec codes VBA ?

Merci d'avance !


A voir également:

1 réponse

redaiwa Messages postés 351 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 25 janvier 2024 119
Modifié par redaiwa le 16/09/2014 à 16:32
Salam gexelpas :)

Essaye ce code pour voir :

Public Sub Extraire()
With Sheets("Feuil1")
ligne = 1
While .Cells(ligne, 1) <> ""
texte = .Cells(ligne, 1)
resultat = ""
For i = 1 To Len(texte)
c = Mid(texte, i, 1)
Select Case c
Case "A" To "Z", " ", "-": resultat = resultat & c
End Select
Next i

''' supprimer les caractères non alphabétiques au début de résultat
While Left(resultat, 1) = " " Or Left(resultat, 1) = "-"
resultat = Right(resultat, Len(resultat) - 1)
Wend

''' supprimer les caractères non alphabétiques en fin de résultat
While Right(resultat, 1) = " " Or Right(resultat, 1) = "-"
resultat = Left(resultat, Len(resultat) - 1)
Wend

.Cells(ligne, 2) = resultat
ligne = ligne + 1
Wend

End With
End Sub

En supposant que les textes sont en colonne A et les résultats en colonne B.

Fais-nous part du résultat.
0
Bonjour redaiwa,

Tout d'abord, merci pour ta réponse.
Je vais l'essayer ce weekend, car on m'a, "monopolisé" sur un autre sujet au boulot.
Je te tiendrai au courant.
D'ici là, encore une fois: Merci !!!
0