Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Découper du texte (sans VBA)

tbft

XLDnaute Accro
Bonjour

Dans une cellule de mon fichier, j'ai la chaine de caractère abc et j'aimerai trouver la fonction qui me la décompose en un tableau {a,b,c}.
Je ne trouve pas cette fonction. j'ai essayé avec la fonction fractionner.texte() mais je ne suis pas arrivé à la faire fonctionner sans utiliser des séparateurs de ligne ou de colonne. Mais, je n'ai pas de séparateur.

Pouvez-vous m'aider, s'il vous plait ?

D'avance merci

Yannick
 

job75

XLDnaute Barbatruc
Bonjour tbft, le forum,

@sousou vraiment pas compris pourquoi tu utilises CELLULE.

Comme l'a dit vgendron, en B1 à tirer vers le bas :
Code:
=STXT(A$1;LIGNE();1)
Ou si l'on veut une matrice, formule matricielle sur C1:C9 :
Code:
=STXT(A1;LIGNE(A1:A9);1)
A+
 

Pièces jointes

  • cellule.xlsx
    10 KB · Affichages: 3

tbft

XLDnaute Accro
J'adore vos solutions.
Et cela m'incite à pousser le concept.
Mais, savez-vous (si cela est possible) de créer un vecteur ligne de valeur 1,2,3,x avec comme paramètre le nombre x éléments?
 

alexga78

XLDnaute Occasionnel
Bonjour à tous,

une option Power query ?

PowerQuery:
let
    Source = Table.Combine(
        List.Transform(
            Table.ToRows(Excel.CurrentWorkbook(){[Name="Table1"]}[Content]),
               (x)=> let y = Text.ToList(x{0})
                     in
                     Table.FromRows({y}, List.Accumulate({1..List.Count(y)}, {}, (s,c)=> s & { "Colonne " & Text.From(c)}))
                      )
                         )
in
    Source

Bonne soirée
 

Pièces jointes

  • cellule.xlsx
    18.6 KB · Affichages: 7

tbft

XLDnaute Accro
Mon but final est d'incrémenter un champ contenant des lettres:
a->b->..->z->aa->ab->..->az->ba->bb->...
avec votre aide j'ai pu convertir aba (par exemple en 729)
Mais je galère pour faire la conversion inverse. à la main c'est facile mais pour une conversion en full automatique c'est une autre paire de manche...
 

job75

XLDnaute Barbatruc
Bonjour tbft,
Donc en compilant vos solutions et séquence, j'obtiens la formule suivante avec la chaine d'entrée en M12:
=STXT(M12;SEQUENCE(1;NBCAR(M12));1)
La fonction SEQUENCE n'existe pas sur toute version, on peut utiliser cette formule :
Code:
=STXT(M12;LIGNE(INDIRECT("1:"&NBCAR(M12)));1)
qui renvoie un vecteur colonne.

Pas compris votre post #12, soyez plus clair.

A+
 

job75

XLDnaute Barbatruc
Bon j'ai compris le post #12 mais il n'a rien à voir avec le post #1 :

- si on a abc en A1, formule en B1 =COLONNE(INDIRECT(A1&1))

- si on a 729 en B1, formule en C1 =SUBSTITUE(ADRESSE(1;B1;4);1;"")
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…