Microsoft 365 Problème au Niveau de l'icrémentation des formules dans un tableau

Daher Ali

XLDnaute Junior
Bonjour à tous,
J’ai un formulaire de saisi et cela fonctionne très bien, le problème que je vais poser n’a rien avoir avec le formulaire, j’explique :

Mon tableau comporte 6 colonne (4 première colonne remplie par le formulaire et les 2 autre comporte des formules)

Les formules de la colonne 5 et 6 sont :

=SIERREUR(SOMMEPROD(SI.CONDITIONS($B$5:B5="SALAIRE";+$D$5:D5;$B$5:B5="AVANCE";-$D$5:D5;$B$5:B5="SOLDE SALAIRE";-$D$5:D5;$B$5:B5="REMBOURSEMENT";-$D$5:D5;$B$5:B5="CONGE";+$D$5:D5;$B$5:B5="GRATIFICATION";+$D$5:D5;$B$5:B5="PRET";0));"")

=SIERREUR(SOMMEPROD(SI.CONDITIONS($B$5:B5="SALAIRE";0;$B$5:B5="AVANCE";0;$B$5:B5="SOLDE SALAIRE";0;$B$5:B5="REMBOURSEMENT";-$D$5:D5;$B$5:B5="CONGE";0;$B$5:B5="GRATIFICATION";0;$B$5:B5="PRET";+$D$5:D5));"")

A la saisi de la première ligne pas de problème, mais lorsque je saisi la deuxième ligne le tableau prend une nouvelle forme mais les FORMULES NE S’INCREMENTENT PAS COMME IL LE FAUT, c’est-à-dire au moment que le tableau ajoute une nouvelle ligne automatiquement les formules doivent aussi s’incrementer selon la première ligne, mais dans mon cas par exemple au lieu de $B$5:B6 je trouve $B$5:B7

Mais lorsque j’agrandi mon tableau manuellement et j’écris ces formules dans les 2 colonnes et que je tire jusqu’en bas cela met les bonnes formules. Mais avec la sélection de la première ligne si je veux agrandir le tableau que je tire le résultat change, je ne sais pas pourque cette différence.
Joint un exemple du fichier que j'ai ( dans feuille : Sarah et Ali )

Merci d'avance pour votre aide.
 

Pièces jointes

  • Classeur Exemplaire.xlsm
    43.1 KB · Affichages: 21
Solution
RE

La fonction, je l'ai adaptée à partir d'exemples trouvés sur Internet jusqu'à la rendre paramétrable...
  • Pour Personnalisé 1, 2 et 3 : on est obligé de taper dans le barre de formule : cliquer sur fx à gauche de celle-ci et taper les formules
  • pour Personnalisé1 : ici c'est directement Source mais dans certains cas c'est l'étape précédente de la requête qui porte un nom différent
  • pour Personnalisé2 : on tape également dans la barre de formule.
    SALARIE est le groupe sur lequel on veut le cumul des lignes à partir de l'étape précédente Personnalisé1, cumul qui porte sur SALAIRE NET0.
  • pour Personnalisé3 : même logique mais le cumul porte sur PRET0
Je...

Daher Ali

XLDnaute Junior
Bonjour

Oui j'ai oublié de préciser pour la mise à jour qui peut s'automatiser par une ligne de code

Je ne peux te donner de formation
Tu peux-être en obtenir une par ton entreprise
Sinon il y a des tutoriels sur internet, des livres également...
Et les forums pour répondre quand tu coinces sur une explication ou un exo

Ce qui est important avant de chercher à automatiser Excel c'est de bien le connaître
On n'automatise ben que ce qu'on connait bien
Trop de développeurs réinvente l'eau tiède, ne sachant pas que ce qu'ils codent existe déjà...
A de très rares exceptions, VBA ne peut rien faire d'autre qu'automatiser ce qui existe déjà.
Il doit servir à mettre de l'huile dans les rouages.

De plus aujourd'hui, avec les tableaux structurés, la puissance accrue des TCD, les possibilités offertes par PowerQuery, nombre des solutions autrefois faites par VBA se font autrement.

Et il est important, aussi comme dans tout projet, de bien analyser, bien tout mettre à plat avant de commencer. Si on a l'impression de perdre du temps au départ, on en gagnera tellement ensuite avec des rouages bien agencés et bien huilés.
Je te remercie Chris pour tes conseils et ton aide
Merci le FORUM:)
 

Daher Ali

XLDnaute Junior
Bonjour Chris,

j'ai beaucoup apprécier le travail que tu ma fait la dernière fois, je les utiliser pour un autre travaille c'est vraiment super et j'essais de m'exercer aussi en regardant des tutos sur PowerQuery.

Je vous revient pour un petit blocage et j'aimerais que vous m'aidiez

Dans ce fichier j'ai un nouveau salarié Onglet DAHER ALI, on sais toujours qu'on débute par le salaire et on termine par le soldé le salaire, pour cela j'aimerais dans mon formulaire frmSAISIE et frmMODIFICATION empêcher la saisie a nouveau d'une nouvelle ligne SALAIRE tant qu'il n'est pas soldé, donc après avoir soldé comme dans l'onglet Daher Ali on peux a nouveau saisir le salaire pour ensuite continuer.

Merci
 

Pièces jointes

  • N°1.xlsm
    79.1 KB · Affichages: 3

Daher Ali

XLDnaute Junior
RE

Exemple ci-joint

Mise à jour
Bonjour Chris, bonjour le Forum

J'aimerais pouvoirs comprendre la 3ème ligne lorsque je clique sur requêtes et connexions je vois une fonction, j'ai pu réaliser les 2 premières lignes et je suis bloqué sur la 3ème,
lorsque je rentre dans l'éditeur power query et clique sur la éditeur avancé de la fonction je vois un code mais s'sincèrement je ne comprend pas trop, pourrais tu m'expliqué stp..
Je vous remercie
 

chris

XLDnaute Barbatruc
Bonjour

C'est une fonction qui permet de faire des cumuls d'une ligne à l'autre par groupe

Elle attend 2 arguments : la table (ou étape de la requête) et la colonne où doit se faire le cumul
Elle est utilisée dans Opérations2, étape Personnalisé3 pour le Salaire net et Personnalisé2 pour le Prêt

L'avantage est qu'on peut la copier/coller dans un autre classeur pour l'utiliser

J'ai eu un débat avec Jean Eric sur cette fonction : il en a proposé d'autres a priori plus simples mais qui ne sont pas copiables pour traiter d'autres cas.

J'ai depuis fait une autre version combinant 2 fonctions...
 

Daher Ali

XLDnaute Junior
C'est une fonction qui permet de faire des cumuls d'une ligne à l'autre par groupe
Tout la ligne de Code mis dans cette fonction tu la écrite n'est ce pas ? Je veux dire lorsqu'on entre dans la requête avancé on l'écris ?

Elle attend 2 arguments : la table (ou étape de la requête) et la colonne où doit se faire le cumul
Elle est utilisée dans Opérations2, étape Personnalisé3 pour le Salaire net et Personnalisé2 pour le Prêt
Génial. J'ai essayé de faire cette étape je n'arrivais pas à faire les différents Personnalisé 1, 2 et 3. Pourrais-tu m'aider stp
Merci beaucoup Chris.
 

chris

XLDnaute Barbatruc
RE

La fonction, je l'ai adaptée à partir d'exemples trouvés sur Internet jusqu'à la rendre paramétrable...
  • Pour Personnalisé 1, 2 et 3 : on est obligé de taper dans le barre de formule : cliquer sur fx à gauche de celle-ci et taper les formules
  • pour Personnalisé1 : ici c'est directement Source mais dans certains cas c'est l'étape précédente de la requête qui porte un nom différent
  • pour Personnalisé2 : on tape également dans la barre de formule.
    SALARIE est le groupe sur lequel on veut le cumul des lignes à partir de l'étape précédente Personnalisé1, cumul qui porte sur SALAIRE NET0.
  • pour Personnalisé3 : même logique mais le cumul porte sur PRET0
Je n'ai pas trouvé de bouquin sur la langage M (langage de POwerQuery)
Le référentiel de Microsoft permet de comprendre le fonctionnement de chaque fonction mais pour les combinatoires seuls les exemples, souvent donnés en réponse à des questions, permettent de progresser.
C'est un peu pareil pour VBA mais les livres ne manquent pas...
 

Daher Ali

XLDnaute Junior
RE

La fonction, je l'ai adaptée à partir d'exemples trouvés sur Internet jusqu'à la rendre paramétrable...
  • Pour Personnalisé 1, 2 et 3 : on est obligé de taper dans le barre de formule : cliquer sur fx à gauche de celle-ci et taper les formules
  • pour Personnalisé1 : ici c'est directement Source mais dans certains cas c'est l'étape précédente de la requête qui porte un nom différent
  • pour Personnalisé2 : on tape également dans la barre de formule.
    SALARIE est le groupe sur lequel on veut le cumul des lignes à partir de l'étape précédente Personnalisé1, cumul qui porte sur SALAIRE NET0.
  • pour Personnalisé3 : même logique mais le cumul porte sur PRET0
Je n'ai pas trouvé de bouquin sur la langage M (langage de POwerQuery)
Le référentiel de Microsoft permet de comprendre le fonctionnement de chaque fonction mais pour les combinatoires seuls les exemples, souvent donnés en réponse à des questions, permettent de progresser.
C'est un peu pareil pour VBA mais les livres ne manquent pas...
Super. Merci encore Chris pour ta disponibilité, je vais essayer de le faire.
 

Discussions similaires

Statistiques des forums

Discussions
314 749
Messages
2 112 463
Membres
111 556
dernier inscrit
Virgile Doridant