extraction caractère

J

jdc

Guest
Excel97 VBA

bonjour,

Dans un fichier excel, j'ai un champ texte de 178 caractères.
J'aimerai savoir si il est possible d'extraire chaque caractère et d'inscrire cette valeur dans une nouvelle colonne soit 178 nouvelle colonne.

Merci d'avance
 
S

sousou

Guest
Bien sur tout est possible (ou presque)

Ce petit code extrait chaque caractère d'une phrase ecrite dans la cellule active vers les colonnes suivantes.
Sub extrait()
Set maphrase = ActiveCell
nbc = Len(maphrase)
For n = 1 To nbc
c = Mid(maphrase, n, 1)
maphrase.Offset(0, n) = c
Next
End Sub
 
J

jdc

Guest
Merci
Cela fonctionne très bien pour le premier enregistrement, par contre ce fichier contient 4580 lignes d'enregistrement. il existe certainement une possibilité d'imbriqué un autre code...
Mais sincèrement je plante...

merci
 
A

andré

Guest
Salut à vous,

Une solution (simple) par formule :

Supposons le texte en A1

En A2 : =STXT($A$1;COLONNE();1)
formule à copier à droite sur 177 colonnes.

Si le nombre des 178 caractères peut varier (pour éviter les messages d'erreur):
En A2 : =SI(COLONNE()>NBCAR($A$1);"";STXT($A$1;COLONNE();1))
formule à copier à droite sur un nombre de colonnes supérieur au nombre maximum de caractères

Si A1 comporte des espaces dont on ne veut pas tenir compte :
En A2 : =SI(COLONNE()>NBCAR(SUBSTITUE($A$1;" ";""));"";STXT(SUBSTITUE($A$1;" ";"");COLONNE();1))
formule à copier à droite sur un nombre de colonnes supérieur au nombre maximum de caractères (sans les espaces)

Si la cellule de départ est autre que la colonne A, soustraire dans toutes les formules le nombre de colonnes à gauche à la première formule encodée.
Exemple :
En C1 : =STXT($A$1;COLONNE()-2;1), parce que le nombre de colonnes A et B = 2.

Ândré.
 

Discussions similaires

Réponses
3
Affichages
432

Statistiques des forums

Discussions
312 332
Messages
2 087 365
Membres
103 528
dernier inscrit
maro