extraire des nombres dans des cellules

kabale53

XLDnaute Occasionnel
bonjour

j'ai dans une cellule 10 nombres variables (de 1 ou 2 chiffres).Je souhaite les extraire dans 10 cellules (chacun dans une cellule).

la solution en formules s'il vous plait.

Merci
 

Pièces jointes

  • essai.xlsx
    8.3 KB · Affichages: 43
  • essai.xlsx
    8.3 KB · Affichages: 43

R@chid

XLDnaute Barbatruc
Re : extraire des nombres dans des cellules

Bonjour,
en B1 :
Code:
=SIERREUR(CNUM(STXT($A1;TROUVE("-";SUBSTITUE(" "&SUBSTITUE($A1;CAR(160);" ");" ";"-";COLONNES($B:B)));TROUVE("-";SUBSTITUE(SUBSTITUE($A1;CAR(160);" ")&" ";" ";"-";COLONNES($B:B)))-TROUVE("-";SUBSTITUE(" "&SUBSTITUE($A1;CAR(160);" ");" ";"-";COLONNES($B:B)))));"")
@ tirer vers la droite puis vers le bas.



@ + +
 

CPk

XLDnaute Impliqué
Re : extraire des nombres dans des cellules

Bonjour, entre le dix et le 8 il y a un petit espace de m...Vous le selectionnez et le copiez. Puis vous allez dans donnée/convertir, vous choisissez délimité et vous collez le petit espace dans la case "autre" , vous cochez aussi "espace" puis après c'est suivant suivant etc..

Sinon pour vba si vous changez d'avis...
Code:
Sub Macro1()
Feuil1.Columns(1).TextToColumns Feuil1.Cells(1, 2), Space:=True
End Sub
 

Pièces jointes

  • Sans titre.jpg
    Sans titre.jpg
    59.1 KB · Affichages: 30
  • Sans titre.jpg
    Sans titre.jpg
    59.1 KB · Affichages: 26
Dernière modification par un modérateur:

CISCO

XLDnaute Barbatruc
Re : extraire des nombres dans des cellules

Bonsoir

Pour le fun
Code:
STXT(" "&$A1;CHERCHE("µ";SUBSTITUE(SUBSTITUE(" "&$A1;CAR(160);CAR(32));" ";"µ";COLONNES($B:B)))+1;CHERCHE("µ";SUBSTITUE(SUBSTITUE(" "&$A1&" ";CAR(160);CAR(32));" ";"µ";COLONNES($B:C)))-CHERCHE("µ";SUBSTITUE(SUBSTITUE(" "&$A1;CAR(160);CAR(32));" ";"µ";COLONNES($B:B)))-1)

Je n'ai pas trouvé plus court... Faut dire, comme le fait remarquer, CPk, qu'il y a un petit espace de m... entre le 10 et le 8... Pour raccourcir tout cela, on peut nommer les parties qui se répètent plusieurs fois dans la formule, comme SUBSTITUE(" "&$A1&" ";CAR(160);CAR(32)) par ex.
Mais le mieux, c'est d'utiliser Données/Convertir...

@ plus
 

Pièces jointes

  • essaichiffre.xlsx
    15.5 KB · Affichages: 25
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : extraire des nombres dans des cellules

Bonjour à tous, bonjour R@chid

Comme tu l'as vu, nos propositions sont semblables. Justement, j'étais parti sur du LIGNE(INDIRECT... en matriciel pour trouver plus court que ta proposition. Mais comme cela n'a pas été très concluant, j'ai cherché autre chose, pour finalement retomber sur une formule très semblable à la tienne (sans l'avoir sérieusement regardée). On peut faire un tout petit peu plus petit en jouant sur des détails, mais bon, cela n'est pas extra...
Code:
=STXT(" "&$A1;CHERCHE("µ";SUBSTITUE(SUBSTITUE(" "&$A1;"*";" ");" ";"µ";COLONNE(A:A)))+1;CHERCHE("µ";SUBSTITUE(SUBSTITUE(" "&$A1&" ";"*";" ");" ";"µ";COLONNE(B:B)))-CHERCHE("µ";SUBSTITUE(SUBSTITUE(" "&$A1;"*";" ");" ";"µ";COLONNE(A:A)))-1)
Pas super...

@ plus
P.S : Dans mon fichier Excel, dans la formule, il ni a pas une étoile entre les guillemets, mais cet espace de m, comme dirait ...:), que j'ai copié-collé... CAR(160)= non-breaking space, espace insécable je suppose.
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : extraire des nombres dans des cellules

Bonjour kabale53, R@chid, CPk, CISCO,

Avec la solution du fichier joint il peut y avoir n'importe quoi entre les nombres.

A+
 

Pièces jointes

  • essai(1).xlsx
    10.6 KB · Affichages: 34
  • essai(1).xlsx
    10.6 KB · Affichages: 33

job75

XLDnaute Barbatruc
Re : extraire des nombres dans des cellules

Re,

Sur Excel 2003 et versions antérieures SIERREUR n'existe pas.

Utilisez alors ce fichier (2) qui fonctionne sur toute version.

A+
 

Pièces jointes

  • essai(2).xls
    33 KB · Affichages: 26
  • essai(2).xls
    33 KB · Affichages: 30
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : extraire des nombres dans des cellules

Bonjour à tous, bonjour R@chid, Job75, CPk

Histoire de faire plus court, en C1, une autre possibilité
Code:
STXT($A1;SOMMEPROD(NBCAR($B1:B1))+NBVAL($B1:B1)+1;CHERCHE("µ";SUBSTITUE(SUBSTITUE(STXT($A1&" ";SOMMEPROD(NBCAR($B1:B1))+NBVAL($B1:B1)+1;10);"*";"µ");" ";"µ"))-1)

ou encore, moins court
Code:
REMPLACER(STXT($A1&" ";SOMMEPROD(NBCAR($B1:B1))+NBVAL($B1:B1)+1;10);
CHERCHE("µ";SUBSTITUE(SUBSTITUE(STXT($A1&" ";SOMMEPROD(NBCAR($B1:B1))+NBVAL($B1:B1)+1;100);
"*";"µ");" ";"µ"));100;"")
les deux formules avec des nombres comportant moins de 100 caractères (voyons large :)), et avec B1 forcément vide.

@ plus

P.S : Dans la formule, à la place de l'étoile, il faut mettre un espace insécable (puisqu'il y en a un entre le 10 et le 8)
 
Dernière édition:

Discussions similaires

Réponses
16
Affichages
676

Statistiques des forums

Discussions
312 291
Messages
2 086 841
Membres
103 399
dernier inscrit
Tassiou