Hésitation TCD / Power Pivot, tableau VBA

Ahah, la logique BDD.

Disons que je l'ai en théorie. Pareil pour le SQL, je suis capable d'écrire des requêtes sans avoir eu le besoin d'en faire réellement.

Le souci c'est qu'en pratique, j'aime pas trop qu'on m'embête parce que je n'ai pas mis la majuscule au bon endroit...

Et le souci principal de tout ceci, c'est quand même la rigidité, et la rigueur que ça demande.

RE

Le souci c'est qu'en pratique, j'aime pas trop qu'on m'embête parce que je n'ai pas mis la majuscule au bon endroit...

Et le souci principal de tout ceci, c'est quand même la rigidité, et la rigueur que ça demande.

VBA est aussi sensible à la casse et un bon code nécessite aussi beaucoup de rigueur

La rigueur ne nuit pas non plus à un bon tableau Excel même si cela est rarement mis en pratique, hélas.

Bonjour,

Une petite intervention et un Noël avant Noël.

Cdlt.

fnJourPaques

(annee)=>
let
  g = Number.Mod(annee,19),
  c = Number.IntegerDivide(annee,100),
  c4 = Number.IntegerDivide(c,4),
  e=Number.IntegerDivide((8*c+13),25),
  h=Number.Mod((19*g+ c-c4-e+15),30),
  h2 = if (h=29) then 28 else if (h=28 and g>10) then h-1 else h,
  k=Number.IntegerDivide(h2,28),
  p=Number.IntegerDivide(29,(h2+1)),
  q=Number.IntegerDivide((21-g),11),
  i=(k*p*q-1)*k+h2,
  b=Number.IntegerDivide(annee,4)+annee,
  j1=b+i+2+c4-c,
  j2=Number.Mod(j1,7),
  r=28+i-j2,
  jourDePaquesSTR="01/03/"&Text.From(annee),
  jourDePaquesDate = Date.FromText(jourDePaquesSTR),
  jourDePaques=Date.AddDays(jourDePaquesDate, r-1)
in
  jourDePaques

fnJourFerie

(date) =>
let
  annee = Date.Year(date),
  jour = Date.Day(date),
  mois = Date.Month(date),
  paques = fnJourPaques(annee),
  paquesLundi = Date.AddDays(paques, 1),
  ascension=Date.AddDays(paques, 39),
  pentecote=Date.AddDays(paques, 49),
  pentecoteLundi = Date.AddDays(pentecote, 1),
  estFerié =
    if (mois=1 and jour=1) then true
    else if (mois=5 and jour=1) then true
    else if (mois=5 and jour=8) then true
    else if (mois=7 and jour=14) then true
    else if (mois=8 and jour=15) then true
    else if (mois=11 and jour=1) then true
    else if (mois=11 and jour=11) then true
    else if (mois=12 and jour=25) then true
    //else if (date = paques) then true
    else if (date = paquesLundi) then true
    else if (date = ascension) then true
    //else if (date = pentecote) then true
    else if (date = pentecoteLundi) then true
    else false
in
  estFerié

Bonjour Jean-Éric !

Avec moi, c'est Noël tous les jours !

Sinon, ce qui est génial avec vous tous, c'est que je me sens super nul. Ça permet de progresser très rapidement.

Par contre, vraiment, je n'ai aucune idée d'où mettre ton code ! Ni de comment le lancer. Ni de l'utilité du fichier (apparemment) vide ?

RE

Mauvaise habitude de ne pas regarder ce qu'il y a comme requêtes dans un classeur !

Ce n'est pas du tout vide...

Ahah, merci bien joué.

J'ai le réflexe feuilles cachées, modules, etc à chaque ouverture mais, je le concède, je ne regarde jamais les requêtes.

C'est d'ailleurs grâce à toi que j'ai fait ma 1ère requête la semaine dernière, c'est encore tout frais.

Et la structure ne me parle pas du tout

Arf, faut que je m'y fasse.

Bonjour,

Un exemple pratique !?.

Pour débuter, dans l'éditeur Power Query :

Accueil, Nouvelle requête, Nouvelle source, Autres sources, cliquer sur Requête vide.

Dans la barre de de formule, saisir=List.Dates et valider.

Dans la fenêtre qui s'affiche, saisir la date de départ, le nombre de jours et l'incrément. Soit dans l'exemple : 1/1/2020, 366 et 1.

Pour la suite, regarde les étapes (et les formules) de la requête Calendrier.

Cdlt.

annotation 2020 05 20 053150

Bonjour à tous

J'ai le réflexe feuilles cachées, modules, etc à chaque ouverture mais, je le concède, je ne regarde jamais les requêtes.

Pour la petite histoire : quand l'add on PowerPivot est sorti , il a été utilisé pour transporter des millions de lignes : le classeur semblait vide et servait de container pour ces données qui ne tenaient pas sur un onglet...

Bonjour à tous

Pour la petite histoire : quand l'add on PowerPivot est sorti , il a été utilisé pour transporter des millions de lignes : le classeur semblait vide et servait de container pour ces données qui ne tenaient pas sur un onglet...

Hello messieurs,

Effectivement, c'est dingue comme tout est plus léger avec Power Query !

Des fois un peu long à l'ouverture du fichier quand il y a presque une dizaine de requêtes à mettre à jour, mais on n'a rien sans rien et ça apporte tellement de choses !

Un grand merci à toi Jean-Éric pour la fonction. J'arrive désormais mieux à l'appréhender et c'est vrai que c'est bien pratique !

Par contre, l'abus de Power Query peut-il amener des problèmes de compatibilité entre les versions/installations ?

La requête de Chris fonctionne à merveille sur Windows 8.1 Excel 32 bits.

Sur office 365 tournant sur Windows 10, la requête plante à la ligne 4 :

= Table.PromoteHeaders(#"Content développé", [PromoteAllScalars=true])

Ça dit qu'il y a un problème de syntaxe, qu'il attend 1 seul argument et qu'il y en a 2.

Ça vous parle ?

Re

Par contre, l'abus de Power Query peut-il amener des problèmes de compatibilité entre les versions/installations ?

La requête de Chris fonctionne à merveille sur Windows 8.1 Excel 32 bits.

Sur office 365 tournant sur Windows 10, la requête plante à la ligne 4 :

= Table.PromoteHeaders(#"Content développé", [PromoteAllScalars=true])

[/quote]

Euh de quelle requête tu parles ?

Sur ce fil je n'ai rien posté depuis le 19 mai 2020, 11:13 et il n'y a pas de Promote Header dedans

Re,

Ben justement, sur le fichier du 19 mai, quand je l'ouvre avec mon 2013, pas mis à jour depuis 2018 vu que je ne l'utilisais pas avant et que la mise à jour est refusée lorsque je la tente maintenant ....

J'ai ça :

capture

Tu penses que ça peut être PQ qui traduit ce que tu aurais mis en "vieux langage" ?

Si oui, du coup j'ignore à quoi ressemble le nouveau

Bonjour,

@78chris,

Dans ton fichier Dim_JF.xlsx du 19/5, il y a effectivement cette ligne.

Joyeux, tu dois faire les mises à jour, y compris de Power Query...

Je n'ai pas d'erreur.

Cdlt.

RE

Ma réponse a disparu : je confirmais que j'avais bien retrouvé la ligne

Cela tourne sans PB sur 2010 32 bits en W7 et sur 365 64 bits W10

Je conseillais de reproduite manuellement la commande pour voir quelle différence apparait

Bonjour,

@78chris,

Dans ton fichier Dim_JF.xlsx du 19/5, il y a effectivement cette ligne.

Joyeux, tu dois faire les mises à jour, y compris de Power Query...

Je n'ai pas d'erreur.

Cdlt.

Crois-moi bien que je ne demanderais pas mieux que de faire la mise à jour de PQ !

Quand je la demande via Excel, j'arrive sur ce lien :

Où visiblement il n'y a rien à télécharger. Sinon, on arrive sur le site de Microsoft, où les Msi de PQ ne sont plus disponibles. Je tourne un peu en rond du coup.

RE

je tai envoyé la version française 2.59 et la version us 2.62 est téléchargeable donc tu peux mettre à jour

Re,

Pour une mise à jour de PQ, voir ce lien (fonctionnel) :

https://www.microsoft.com/fr-FR/download/details.aspx?id=39379

NON ce lien ne marche pas en français

RE

je tai envoyé la version française 2.59 et la version us 2.62 est téléchargeable donc tu peux mettre à jour

Oui j'ai bien reçu, merci beaucoup c'est super sympa.

Ce n'est malheureusement pas mon PC qui est sur 2013 32 bits. Je vais pouvoir installer ce que tu m'as envoyé demain.

Autant pour la personne qui est sous 32 bits la version anglaise risquait fortement de ne pas le faire, autant pour moi aucun souci. Je viens donc de l'installer en anglais et ça tourne nickel (comme avant en fait, mais en mieux j'imagine).

Je ne m'explique par contre toujours pas le problème rencontré sur 365.

De ce que j'ai pu constater lors de mes récents essais, le code correspondant généré est = Table.PromoteHeaders(Source, [PromoteAllScalars=true])

J'espère que ça suffira à résoudre le souci.

RE

A part que l'un s'applique sur Source et l'autre sur une étape Content développé il n'y a pas de différence syntaxique

La commande n'aurait-elle pas été déplacée, un ptit glisser déplacé à l'insu de ton plein gré...

Hello.

Malheureusement aucun déplacement intempestif de ligne.

Fonctionne comme un charme sous Office 2013 64 bits.

Tourne à la perfection sous Office 2013 32 bits grâce à l'envoi de ton Msi.

Sous Office 2016, 365, j'ai les soucis suivants :

capture1 capture2 capture3

J'ai quand même l'impression que le réseau est capricieux.

De plus, je n'ai pas accès aux mises à jour. Mais bon, j'imagine que comme ça tournait avec un Power Query datant de 2016 et pas mis à jour depuis, la version installée de base avec Office 365 ne peut pas être plus ancienne ?

Rechercher des sujets similaires à "hesitation tcd power pivot tableau vba"