Séparer valeur numérique + texte d'une cellule

Madjon6

XLDnaute Occasionnel
Bonjour,

J'ai une colonne que je souhaite diviser en 2 colonnes. l'une contiendra les valeurs numérique et l'autre le texte.

Exemple :

Colonne D
539482.39894707Statut refusé

Deviendra :

Colonne D Colonne E
539482.39894707 Statut refusé


Je ne sais pas si c 'est possible avec l'option convertir.

Merci à vous

Merci pour votre aide
 

AtTheOne

XLDnaute Accro
Supporter XLD
Re bonjour,
En prenant la plage utilisée de la colonne C (à partir de C9) comme source et comme cible la cellule B9
Je remplace d'abord la chaine " - " par "§", et j'utilise donnée conversion avec comme séparateur "§" :
VB:
Sub SéparerNew()

     With ActiveSheet
          Set Rg = .Cells(9, 3).Resize(.Cells(.Rows.Count, 3).End(xlUp).Row)
     End With
     Rg.Replace What:=" - ", Replacement:="§", LookAt:=xlPart
    
     Application.DisplayAlerts = False
     Rg.TextToColumns Destination:=Rg.Cells(1).Offset(0, -1), DataType:=xlDelimited, _
                                                              Other:=True, OtherChar:="§", _
                                                              FieldInfo:=Array(Array(1, 1), Array(2, 1)), DecimalSeparator:="."
     Application.DisplayAlerts = True

End Sub

Voir la pièce jointe
A bientôt
 

Pièces jointes

  • exemple1234 AtTheOne 2.xlsm
    19.5 KB · Affichages: 2

croco40

XLDnaute Occasionnel
Re : Séparer valeur numérique + texte d'une cellule

Bonjour tout le monde.
Pour PierreJean,
Il n'y a que deux mois que je suis sur le forum, c'est pourquoi je ne fais que peu d'interventions, vous repondez tous tres vite aux requetes des demandeurs et je n'ai pas souvent le temps de reflechir. De ce fait, je regarde les reponses apportées et j'essaie de comprendre les raisonnements des intervenants.
Je vous ecris simplement (Pierrejean) pour vous dire que j'aime beaucoup la logique que vous employez dans vos codes et l'humilité avec laquelle vous traitez les sujets.
Merci encore
Suerte
croco
 

JCGL

XLDnaute Barbatruc
Re : Séparer valeur numérique + texte d'une cellule

Bonjour à tous,
Re PJ,

Par formules...
En B1 et suivantes :
Code:
=GAUCHE(A1;25)*1
Et en C1 et suivantes :
Code:
=DROITE(A1;NBCAR(A1)-25)

La fonction Convertir pourrait aussi convenir en mettant le curseur en Largeur Fixe à 25

A+ à tous
 

Pièces jointes

  • JC exemple1234.xls
    16.5 KB · Affichages: 293
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Séparer valeur numérique + texte d'une cellule

Re

Salut JC
Heureux de te croiser sur un fil 'zen'
Ta solution fonctionne parfaitement sous Excel 2000 mais sort #VALEUR! pour
=GAUCHE(A1,25)*1
sous excel 2010
J'avoue par ailleurs ne pas bien comprendre le 25

Edit: Sous 2010 c'est le *1 qu'Excel refuse (probablement a cause du point)
D'autre part il faut savoir que le format semble comporter des espaces en debut de mot
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Séparer valeur numérique + texte d'une cellule

Bonjour à tous,

J'ai posé :
=TROUVE("A";A1;1) et j'ai eu 26
=TROUVE("S";A1;1) et j'ai eu 26

Où A et S sont les premières lettres de la partie texte de la cellule

J'ai donc remarqué les espaces que tu cites...
J'ai ajouté le *1 au cas où notre ami aurait eu besoin de retravailler la première chaîne numérique

A++ PJ
A+ à tous
 
Dernière édition:

hbenalia

XLDnaute Occasionnel
Re : Séparer valeur numérique + texte d'une cellule

Bonjour à tous,

Avec une macro trouvée dans un forum, qui extrait tous les chiffres dans un texte dans leurs ordres d'écriture, appliquée dans la colonne B (avec une mise en forme du nombre dans les cellules de cette colonne) et dans la colonne D, une formule qui extrait le texte contenu dans les cellules de la colonne A, on a une réponse à la demande... Le tout est dans la PJ...



Cordialement
 

Pièces jointes

  • exemple1234.zip
    8.6 KB · Affichages: 156

Staple1600

XLDnaute Barbatruc
Re : Séparer valeur numérique + texte d'une cellule

Bonjour à tous

Une solution VBA utilisant Regexp (que j'affectionne particulièrement ces derniers temps, ;) n'est-ce pas, JNP...)

Code:
Sub a()
Dim Plg As Range, c As Range, str$
    With CreateObject("VBscript.RegExp")
        .Global = True
        .Pattern = "\d*(\.\d+)?"
        Set Plg = ActiveSheet.Range([A1], [A65536].End(xlUp))
            For Each c In Plg
            str = .Execute(c.Text)(0)
            c.Offset(, 1) = _
            .Replace(c.Text, ""): c = str
            Next c
    End With
    Set Plg = Nothing
End Sub
 

flyonets44

XLDnaute Occasionnel
Re : Séparer valeur numérique + texte d'une cellule

Bonsoir
voir la solution par macro fournie en 08/2010 sur ce même sujet
Sub a()
Dim Plg As Range, c As Range, str$
With CreateObject("VBscript.RegExp")
.Global = True
.Pattern = "\d*(\.\d+)?"
Set Plg = ActiveSheet.Range([A1], [A65536].End(xlUp))
For Each c In Plg
str = .Execute(c.Text)(0)
c.Offset(, 1) = _
.Replace(c.Text, ""): c = str
Next c
End With
Set Plg = Nothing
End Sub
Cordialement
flyonets
 

Discussions similaires

Statistiques des forums

Discussions
312 524
Messages
2 089 322
Membres
104 119
dernier inscrit
karbone57