Power Query fusion impossible pour cause de cellule vide

grodep

XLDnaute Occasionnel
Bonjour à tous, je poursuis dans mon apprentissage de PQ et me heurte à un nouveau souci :
je récupère un fichier csv, auquel j'apporte quelques modifications et notamment la création d'une nouvelle colonne qui récupère une fraction du texte d'une autre colonne. Malheureusement, quelques cellules sont vides à l'issue de cette transformation (feuillet impoort, colonne réf réduite)
lors de l'étape suivante, je veux fusionner une autre requête (T_choix) et demande donc la comparaison entre cette colonne contenant des vides et la colonne d'une autre requête (Numfour).
Le fait que certaines cellules soient vides rend impossible la génération de cette requête.
Des solutions possibles?
Merci à vous
 

Pièces jointes

  • test V11.xlsm
    520 KB · Affichages: 15
  • test PQ.csv.txt
    165.3 KB · Affichages: 3
Dernière édition:

grodep

XLDnaute Occasionnel
Bonjour Chris et merci du suivi ;)
Je reçois ce message, donc je ne sais pas si c'est le bon fichier qui a été joint:
Formula.Firewall : Requête « mise en forme import » (étape « Lignes triées ») référence d'autres requêtes ou étapes et ne peut donc pas accéder directement à une source de données. Reconstruisez cette combinaison de données.

Du coup, je ne peux pas du tout travailller sur le fichier que tu m'as fourni. :(

Le problème ne me semblait pas venir du ".". En fait, lorsque je demande de fractionner la colonnne [référence] derrière le délimiteur, il y a des produits mal référencés qui n'ont pas de délimiteurs et qui ne contiennent aucun chiffre. Donc, dans cette novuelle colonne[ref réduite] sur laquelle je ne devrais trouver que des nombres, je me retrouve avec certaines cellules dans lesquelles j'ai "FDSXXXX". Lorsque je modifie le type de données, cela créé des erreurs, et ensuite lorsque je tente de fusionner, ça ne passe plus!
Je cherche une solution en faisant une colonne personnalisée, avec une formule du type "if Text.Range(....) = " " then .... mais pour l'instant, je n'ai aucun résultat satisfaisant.
 

chris

XLDnaute Barbatruc
Bonjour

Lancer PowerQuery, Fichier, Options et paramètres, Options de requête, partie GLOBAL : Confidentialité, Toujours ignorer les paramètres de niveau de confidentialité

Cela supprimera le message d'erreur

Cette option par défaut de niveau de confidentialité ne sert à rien dans 99% des cas sauf à créer des problèmes
 

grodep

XLDnaute Occasionnel
Bonjour, merci Chris pour cette astuce.
Mais cela ne change pas, j'ai toujours le meme message de firewall...
Par ailleurs, quand je tente d'examiner ton fichier joint, je vois qu'il travaille avec la source "peggy.csv" et non pas la nouvelle que j'ai jointe sur ce fil (test PQ.csv).
 

chris

XLDnaute Barbatruc
RE

J'ai bien trouvé peggy.txt quand tu as posté le #3
(j'ai bien trace du téléchargement sous ce nom dans l'historique du navigateur...)
J'ai modifié l'extension et l'ai utilisé tel quel

De toute façon il te faut changer le chemin et le nom dans l'étape Source donc c'est un détail...

Peux-tu préciser ta version Excel : il y a 2007 dans ton profil...

J'ai testé et cela fonctionne aussi bien avec l'add on 2010-2013 que sous 365

As-tu bien modifié dans la partie GLOBAL ?

Dès qu'on utilise le nom d'un champ ou dans un filtre, un tri ou tout élément de la requête ou d'une autre, ce foutu paramètre coince.
Tous les utilisateurs réguliers de PowerQuery le désactivent et nous n'avons plus ces soucis

1609844388314.png
 

grodep

XLDnaute Occasionnel
Bonjour Chris, il semble qu'un reboot du pc était nécessaire pour la prise en compte de la modification..
Bref, désormais j'ai ce message d'erreur quand je tente d'accéder à ton fichier :
VB:
Erreur d'expression : Le nom « Text.BeforeDelimiter » n'a pas été reconnu. Veuillez vérifier qu'il est correctement orthographié.

Je travaille avec Excel2016, j'ai modifié dans mon profil.

NB: j'ai systématiquement un message précisant que cette requête a été créée avec une version plus récente de PQ. Je ne sais pas si c'est un indice..
 

chris

XLDnaute Barbatruc
Bonjour

Non le message n'a pas d'incidence.
Seule l'indexation vient d'évoluer sur 365 sinon tout est compatible de 2010 à 365

Comme je l'ai dit j'ai testé dans 2010 et 365 le fichier que j'ai fourni

Text.BeforeDelimiter existe bien dans toutes les versions

Ta version est bien à jour ?
 

Statistiques des forums

Discussions
312 223
Messages
2 086 403
Membres
103 201
dernier inscrit
centrale vet