Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/08/2011, 20h07   #1
Invité de passage
 
Inscription : septembre 2009
Messages : 19
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 19
Points : 0
Points : 0
Par défaut Extraire les deux premières lettres des mots

Bonsoir,

Je souhaiterai extraire d'une colonne les deux premières lettres de chaque mot qu'elle contient et le "Collé" dans la colonne suivante. Exemple:

Black Irridium = BlIr
Aged Turquoise Blue = AgTuBl
Black = Bl

Si vous avez une idée, ou un lien parce que le sujet à déjà été traité 4 milliards de fois...

J.
jakadam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 20h16   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 885
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 885
Points : 7 151
Points : 7 151
Bonjour,

Avec une formule je ne vois comment faire cela simplement

Ci joint une fonction perso à mettre dans un module VBA

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Function Debutmot(Rg As Range, nbLettre) As String
 
Dim str() As String
Dim i As Integer
Dim strRetour As String
 
str = Split(Rg.Value, " ")
 
For i = 0 To UBound(str)
    strRetour = strRetour & Left(str(i), nbLettre)
Next i
 
Debutmot = strRetour
 
End Function
A utiliser comme suit
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 20h20   #3
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 617
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 617
Points : 30 959
Points : 30 959
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Un exemple avec une fonction à mettre dans un module

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Public Function ExtractLettre(strPhrase As String) As String
    ' déclaration
    Dim tabMot() As String
    Dim i As Integer
 
    ' affectation
    tabMot = Split(strPhrase, " ")
 
    ' bouclage sur les mots
    For i = 0 To UBound(tabMot)
        tabMot(i) = Left(tabMot(i), 2)
    Next i
 
    ' récupération
    ExtractLettre = Join(tabMot)
 
End Function
Ensuite dans la colonne que tu souhaites ex à mettre en B1

Philippe

Edit : grillé par jérôme
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h04.


 
 
 
 
Partenaires

Hébergement Web