Power Query Fractionner colonne chiffre/non-chiffre

Dpi-

XLDnaute Nouveau
Bonjour à tous,

Mon besoin est très simple, dans Power Query j'ai besoin de fractionner une colonne pour séparer les chiffres des lettres.
Sur tous les forums, je vois bien que la fonction Fractionner propose : "Par délimiteur", "Par nombre de caractères", "De minuscule à majuscule" et justement "De chiffre à non-chiffre".
Chez moi je n'ai que les deux premières options : "Par délimiteur" et "Par nombre de caractères".
Savez-vous comment activer les autres ? Je suis sur Excel 2016, j'espère que ces options ne sont pas apparus dans 365...

Merci bien,
 
Solution
RE

Sur l'add on le splitter n'est pas reconnu.

As-tu vérifié ta version 2016 avec le lien donné ?

Voir 2 solutions ci-joint :
  • l'une en pas à pas
  • l'autre qui nécessite de modifier le code de la ligne de regroupement mais ne fonctionne correctement que si on a indexé au préalable, donc gain d'une seule étape

chris

XLDnaute Barbatruc
Bonjour

Ta version est à jour ?

Je viens de mettre à jour 2019 et c'est OK

La commande donne
VB:
Splitter.SplitTextByCharacterTransition((c) => not List.Contains({"0".."9"}, c), {"0".."9"}), {"Texte", "Nombre"}
pour Texte puis Nombre (si rien après le nombre)
et
Code:
Splitter.SplitTextByCharacterTransition({"0".."9"}, (c) => not List.Contains({"0".."9"}, c)), {"Nombre", "Texte"}
pour Nombre puis Texte
 

Dpi-

XLDnaute Nouveau
Je suis au bureau, difficile de dire où en sont nos mises à jour...
C'est Excel 2016, 16.0.4266.1001 64 bits.

Sur tous les fichiers testés, peu importe le type de colonne, je ne trouve que ces options :
1610619033158.png


C'ets donc la version française, et si j'essaye de coller ta commande j'obtiens :
Expression.SyntaxError : Jeton Eof attendu.
 

chris

XLDnaute Barbatruc
RE

Je n'ai donné que la partie lié au Splitter : il te faut l'insérer dans une commande complète de split où figure le nom de l'étape précédente et la colonne concernée

 

Dpi-

XLDnaute Nouveau
Ah ok, désolé je débute dans Power Query...

Mais du coup j'ai un autre message :
Expression.Error : Le nom « Splitter.SplitTextByCharacterTransition » n'a pas été reconnu. Veuillez vérifier qu'il est correctement orthographié.
Je peux éventuellement me débrouiller autrement (en ajoutant des colonnes intermédiaires) mais cette solution était tellement plus simple...

Est-ce que je peux en profiter pour poser une autre question sur les filtres ?
J'ai de nombreuses lignes et je voudrais supprimer les doublons sur Code et Client.
Si Code et Client sont identiques, il ne faut conserver que la date la plus récente (et donc le produit le plus récent).
Pour Code ABC et client MAR, il faudra garder la ligne du 21/11/2018.
Pour Code DEF et client CLA, il faudra garder une des deux lignes (peu importe laquelle)
Pour Code DEF et client LOP, il faudra garder la ligne du 11/07/2013.

CodeClientDateProduit
ABCMAR
21/11/2018​
434​
ABCMAR
22/10/2012​
438​
DEFCLA
22/10/2012​
453​
DEFCLA
22/10/2012​
65​
DEFOLP
10/07/2013​
786​
DEFOLP
11/07/2013​
135​
 

chris

XLDnaute Barbatruc
RE

Sur l'add on le splitter n'est pas reconnu.

As-tu vérifié ta version 2016 avec le lien donné ?

Voir 2 solutions ci-joint :
  • l'une en pas à pas
  • l'autre qui nécessite de modifier le code de la ligne de regroupement mais ne fonctionne correctement que si on a indexé au préalable, donc gain d'une seule étape
 

Pièces jointes

  • Filtre_PQ.xlsx
    20.8 KB · Affichages: 2

Dpi-

XLDnaute Nouveau
Pour le filtre sur les dates c'est très bien, merci beaucoup !
Pour la version par contre, je ne trouve pas vraiment. Les données sont bloquées par l'administrateur IT.
J'ai réussi à m'en sortir en créant 3 étapes supplémentaires, c'est vraiment dommage.
En tout cas un grand merci pour ton aide, je peux clôturer le sujet.

Merci beaucoup !
 

Statistiques des forums

Discussions
283 561
Messages
1 852 627
Membres
151 833
dernier inscrit
Lennri
Haut Bas