formule pour séparer cellule

grisan29

XLDnaute Accro
bonjour a tous
je recois par internet des fichiers de mise a jour au format .xls mais tous dans une seule cellule(A)
comment puis faire pour séparer en 3 cellules ajustée au contenu
donc voici ce que je recois en cell(A)
Code:
SCH S520006 1010 10 X 8 AUTOCOLLANTS PC 16.76420
a séparer pour mettre en cell(B) et suivantes
en (B)
Code:
SCH S520006
mais en supprimant l'espace entre SCH et S520006

Code:
1010
ne m'intérresse pas
en (C)
Code:
10 X 8 AUTOCOLLANTS PC
mais modifier le format en minuscule

en(D)
Code:
16.76420
mais se pose un problème car c'est un prix et je le recois avec un point, je voudrais avoir un format (# ##0,00 €)par exemple pour facilité le calcul d'exel

j'espère etre explicite

cordialement

Pascal
 

nainfa

XLDnaute Junior
Re : formule pour séparer cellule

Bonjour Grisan, le forum,

Globalement, ce que tu veux est possible via des formules (avec des macros aussi sûrement mais là, je botte en touche)

Par contre, est-ce que le nombre de caractères peut changer? Au niveau du mot "autocollants", j'imagine que oui mais pour le reste?
 

TempusFugit

XLDnaute Impliqué
Re : formule pour séparer cellule

Bonjour

Pour la colonne D (avec l'impératif suivant : présence d'un seul . dans la chaine de caractère à traiter)
Code:
=SUBSTITUE(STXT(A1;CHERCHE(".";A1)-2;100);".";",")*1

Pour la colonne C
Code:
=SUPPRESPACE(STXT(A1;CHERCHE(" X ";A1)-3;CHERCHE(".";A1)-CHERCHE(" X ";A1)))

Pour la colonne B
Code:
=SUBSTITUE(STXT(A1;1;CHERCHE(" ";A1;5));" ";"")
 
Dernière édition:

grisan29

XLDnaute Accro
Re : formule pour séparer cellule

bonjour le forum
les solutions que vous proposer me conviennent mais celle de Paritec sort du lot tellement elle me vas
reste a la posé dans mon fichier final
encore merci de cette rapidité et professionnalisme
cordialement

Pascal:cool:
 

grisan29

XLDnaute Accro
Re : formule pour séparer cellule

rebonjour
j'ai oublié de vous dire que mon fichier a env1900 lignes et parfois plus mais je pense pas que le problème vienne de la mais de la partie du code qui ne m'interresse pas
l'exemple
SCH S520006 1010 10 X 8 AUTOCOLLANTS PC 16.76420
est bon mais j'ai aussi
SCH SR2MEM02 6010 CART. MEM. POUR TRANSFERT 29.31888
le blocage se fait a cette ligne
.Cells(i, 3) = t(3) & " " & t(4) & " " & t(5) & " " & t(6) & " " & t(7)
je pense que vous aviez tous raison un fichier est plus parlant donc voici après adaptation

cordialement

Pascal
 

grisan29

XLDnaute Accro
Re : formule pour séparer cellule

bonsoir Paritec et le forum
je suis en cours de vision de mes discussions et en regardant celle-ci je me rends compte que j'ai oublier de demander a ce que le prix soit mis réellement a 0,00€ car le clic sur la cellule met le prix a 0.0000 dans la barre de formule
dont voici le merveilleux code
Sub trier()
Dim i&, fin&, t, x&, ref$, a&, aa, tp$
tp = Timer
With Feuil1
fin = .Range("A" & Rows.Count).End(xlUp).Row
aa = .Range("A1:A" & fin)
ReDim Preserve aa(UBound(aa), 4)
For i = 1 To UBound(aa)
t = Split(aa(i, 1)): x = UBound(t)
aa(i, 1) = aa(i, 1)
aa(i, 2) = t(0) & t(1)
For a = 3 To x - 1
ref = ref & t(a) & " "
Next a
aa(i, 3) = ref
aa(i, 3) = LCase(aa(i, 3))
aa(i, 4) = t(x)
Erase t: x = 0: ref = ""
Next i
.Range("A1").Resize(UBound(aa), UBound(aa, 2)) = aa
End With
MsgBox "Traitement réalisé en " & Format(Timer - tp, "0.00 s")
End Sub
avec mes excuses pour le retard

pascal
 

Discussions similaires

Réponses
7
Affichages
584

Statistiques des forums

Discussions
312 505
Messages
2 089 103
Membres
104 032
dernier inscrit
akram.job