Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 07/07/2005, 15h48   #1 (permalink)
XLDnaute Occasionel
 
Date d'inscription: juillet 2005
Messages: 147
Par défaut Sélection partielle du contenu d'une cellule

Salut à tous,
je cherche à sélectionner uniquement une partie d'une cellule. En effet, j'ai récupéré une base de donnée d'établissements, el les numéros de tel et de fax sont dans la même cellule. J'aimerai donc grâce à une macro sélectionner uniquement les caractère 6 à 20 et les copier, puis les derniers caractères si ce sont des chiffres.
Mercide votre aide
Arnaud
adebrux est déconnecté   Réponse avec citation
ANNONCES
Vieux 07/07/2005, 17h22   #2 (permalink)
XLDnaute Occasionel
 
Avatar de Sylvain
 
Date d'inscription: février 2005
Version Excel : Excel 2000 (PC)
Messages: 259
Par défaut Re:Sélection partielle du contenu d'une cellule

bonsoir,

avant de regarder les fonctions texte (gauche droite nbcar et surtout dans ton cas stxt), je te conseille de regarder le menu données / convertir. A mon avis si tu fais un tri avant, tu pourras éclater ta colonne en quelques manoeuvres car les données ne contenant que des chiffres vont se trouver en premier et en lançant cet outil sur cette sélection ça va se faire d'un coup.
Sylvain est déconnecté   Réponse avec citation
Vieux 07/07/2005, 18h24   #3 (permalink)
XLDnaute Barbatruc
 
Avatar de Robert
 
Date d'inscription: février 2005
Localisation: Sète
Version Excel : Excel 2003 (PC)
Messages: 2 920
Par défaut Re:Sélection partielle du contenu d'une cellule

Bonjour Adebrux, bonjour Sylvain,

Le code à suivre fonctionne sur la cellule active, à toi de l'adapter pour un plage.
Pour les caractères de 6 à 20 : Mid(ActiveCell, 6, 15)

pour le reste la macro suivante :

Citation:
Sub Macro1()
Dim Tc() As String
Dim Nc As Byte
Dim Cn As String
Dim x as byte
Nc = Len(ActiveCell.Value)
For x = 21 To Nc
If IsNumeric(Mid(ActiveCell.Value, x, 1)) = True Then
ReDim Preserve Tc(x - 21)
Tc(x - 21) = Mid(ActiveCell.Value, x, 1)
End If
Next x
For x = LBound(Tc) To UBound(Tc)
Cn = Cn & Tc(x)
Next x
MsgBox Cn
End Sub
Message édité par: Robert, à: 07/07/2005 17:30
__________________
À plus

Robert
Robert est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 11h17.


(C) 2006 Excel Downloads