| Date | Auteur du sujet | Sujet | Extrait du message |
|---|
| 24/10/2025 à 11:45 | Thierry36 | Formule recherche au plus proche | Bonjour =EQUIV($L$1;$B$1:$J$1;1) renverra 3 soit la colonne souhaitée donc en L2 =INDEX(B2:J2;EQUIV($L$1;$B$1:$J$1;1)) renverra 0,229 à recopier en L3 pour obtenir 0,928 par contre 0,5 renverra une erreur Stéphane... |
| 22/10/2025 à 17:46 | ersaulo | Verifier dans une chaine de caracteres ce qu'il y a derriere l'arobase | La demande n'est pas claire, attendons le retour de ersaulo Sinon, autre approche en remplaçant toutes les occurrences de @grandik.com par rien et on teste s'il reste encore des @ dans la cellule (donc des adresses ayant un autre domaine) =ESTERREUR(TROUVE("@";SUBSTITUE(A1;"@grandik.com";""))) en an... |
| 22/10/2025 à 17:38 | ersaulo | Verifier dans une chaine de caracteres ce qu'il y a derriere l'arobase | @Dan, a priori il y a plusieurs adresses mail dans une même cellule. La solution par MEFC "texte contenant" ne fonctionnera pas pour "popit@grandik.com, guitare@mouflers.com, guitare@grandik.com" car elle renverra "VRAI" et non "FAUX" (toutes les adresses ne se terminent pas par les caractères souha... |
| 17/10/2025 à 19:00 | xavierdep | Comptabiliser le nombre de lignes du meme mois | Sans colonnes intermédiaires en colonne E puis tirer la formule =SOMME((TEXTE($C$2:$C$625;"aamm")<>TEXTE(E$1;"aamm"))*(((TEXTE($A$2:$A$625;"aamm")=TEXTE(E$1;"aamm"))+(TEXTE($B$2:$B$625;"aamm")=TEXTE(E$1;"aamm")))>0)) le principe est de vérifier pour toutes les lignes si le mois n'est pas le... |
| 30/09/2025 à 15:16 | ninnin | Fonction nb.jours.ouvres avec une plage | Ou encore avec le contrôle sur la date de début avant de calculer le MAP et une vérification qu'il y a au moins une date dans la colonne "Date de fin" (sinon le FILTRE renverra une erreur) Stéphane... |
| 29/09/2025 à 17:47 | ninnin | Fonction nb.jours.ouvres avec une plage | D'après ce que j'ai compris de la demande, il faut appliquer la fonction NB.JOURS.OUVRES dans un MAP pour effectuer le calcul sur toutes les dates de fin. =SOMME(MAP([Date de fin];LAMBDA(y;NB.JOURS.OUVRES([@[Date de début]];y)))) EDIT, je viens de voir votre version d'Excel.... |
| 26/09/2025 à 16:08 | bayard | Accélérer le travail d'une macro | @Dan C'est pour cela que j'avais inclus le titre dans le Resize. comme ça il y a toujours au moins une constante texte et on est certain que SpecialCells(xlCellTypeConstants, 3) ne renvoie pas d'erreur (d'où également le -1 pour retirer l'occurrence du titre). Dans la version avec prise en compte de... |
| 26/09/2025 à 14:28 | bayard | Accélérer le travail d'une macro | En effet, je suis passé par une Sub car je n'ai pas réussi à obtenir un résultat correct dans une Function avec SpecialCells Je laisse le sujet aux spécialistes VBA que je ne suis pas ! Stéphane... |
| 26/09/2025 à 13:52 | bayard | Accélérer le travail d'une macro | J'avais expliqué le -1 dans un message précédent = c'est pour retirer la valeur de la ligne de titre je pense qu'il n'y a pas de différence entre 50000, 5000 ou 500000 car SpecialCells ne va jamais au delà de SpecialCells(xlLastCell) faire l'essai avec une sélection des cellules vides. il ne va pas... |
| 26/09/2025 à 12:12 | bayard | Accélérer le travail d'une macro | Etonnamment, xlCellTypeConstants renvoie le nombre de cellules fusionnées on peut toujours ajouter le nombre de cellules avec formules en additionnant le nombre de cellule obtenu avec SpecialCells(xlCellTypeConstants, 3) et avec SpecialCells(xlCellTypeFormulas, 3) avec ici l'affichage des formules p... |
| 26/09/2025 à 11:37 | bayard | Accélérer le travail d'une macro | Une autre possibilité avec un résultat immédiat même avec 50000 lignes Sélectionner les cellules dont vous voulez calculer la valeur et exécuter la requête A partir de chaque cellule, je me décale d'une ligne et je prends une plage de 50000 lignes. je compte le nombre de constantes (nombre et texte)... |
| 26/09/2025 à 08:49 | bayard | Accélérer le travail d'une macro | Je pense qu'il est préférable de ne pas fusionner les cellules mais de compléter toutes les lignes avec le montant. Quitte à jouer avec la MFC pour mettre des valeurs successives en blanc et retirer la bordure. (ici police en gris pour la voir dans ma copie d'écran) Stéphane... |
| 25/09/2025 à 22:05 | 78chris | Formules 365 à trouver | Exemple de formule pour gérer "les trous". l'étape "valeur_précédente" permet de recopier vers le bas en cas de cellule vide (0 au début dans tous les cas pour la première valeur) avec les formats personnalisés 0;-0; en colonne C et 0%;-0%; en colonne D Stéphane... |
| 25/09/2025 à 14:16 | 78chris | Formules 365 à trouver | A mon tour d'être pris de vitesse avec ASSEMB.H Stéphane... |
| 25/09/2025 à 14:09 | 78chris | Formules 365 à trouver | Sinon pour ne pas à avoir à passer la dernière ligne de la colonne C en dur en D3 : en E3 : Stéphane... |
| 25/09/2025 à 14:01 | 78chris | Formules 365 à trouver | En D3 : =SI(ESTVIDE(C3:C11)+ESTVIDE(C2:C10);"";C3:C11-C2:C10) en E3 : =SIERREUR(D3#/C2:C10;"") Stéphane... |
| 24/09/2025 à 18:36 | cowboy09310 | Supprimer tirets "-" | C'est un problème dans la fusion de colonnes par défaut si une des colonnes est "null" il ajoute le délimiteur quand même il faut remplacer le 3e argument du Table.CombineColumns Combiner.CombineTextByDelimiter(" - ", QuoteStyle.None) par each Text.Combine(_, " - ") traduit en Excel, par défaut on a... |
| 24/09/2025 à 17:48 | cowboy09310 | Supprimer tirets "-" | Par formule : =GAUCHE(A1;NBCAR(A1)-3*(DROITE(A1;3)=" - ")) par Power Query, ajouter une colonne if Text.EndsWith([Colonne1]," - ") then Text.Start([Colonne1], Text.Length([Colonne1])-3) else [Colonne1] Sinon, d'où provienne ces tirets ? il est parfois possible de ne p... |
| 23/09/2025 à 17:12 | nickal | Recherche inversée | Pour rechercher la dernière occurrence, ajouter un -1 en dernier argument du RECHERCHEX =RECHERCHEX( RECHERCHEX("*";Tableau1[@[16/09/2025]:[01/05/2026]];Tableau1[@[16/09/2025]:[01/05/2026]];"";2;-1); 'Clés '!$B$4:$B$7; 'Clés '!$C$4:$C$7; "") et pour la... |
| 23/09/2025 à 16:52 | nickal | Recherche inversée | Vu qu'il n'y a qu'une seule cellule remplie par ligne =RECHERCHEX(CONCAT(Tableau1[@[16/09/2025]:[01/05/2026]]);'Clés '!$B$4:$B$7;'Clés '!$C$4:$C$7;"") pour la date =RECHERCHEX("*";Tableau1[@[16/09/2025]:[01/05/2026]];Tableau1[[#En-têtes];&#... |
| 22/09/2025 à 18:27 | saboh12617 | TCD - Renommer en-tetes de sous sections | Cette option n'est pas accessible avec le modèle de données. Vu que les mesures DAX sont des sommes ou des max, peut-être faut-il charger directement les données issues de PQ directement dans un TCD et non dans le modèle de données D'une manière générale, je suis plutôt déçu de Power Pivot, je trouv... |
| 22/09/2025 à 17:22 | saboh12617 | TCD - Renommer en-tetes de sous sections | En complément à mon message précédent avec un MAX... |
| 22/09/2025 à 17:16 | saboh12617 | TCD - Renommer en-tetes de sous sections | Voir dans le paramètre du champ (Automatique ou Personnalisés). ici les 2 TCD donnent le même résultat mais l'affichage indique "Total A" si automatique ou "Somme A" si personnalisés Stéphane... |
| 22/09/2025 à 17:04 | Claudius91 | Trouver le jour et l'heure valeur maxi dans un tableau | Sans cellule intermédiaire =MAX(($B$2:$Y$32=MAX($B$2:$Y$32))*($A$2:$A$32+$B$1:$Y$1)) Stéphane... |
| 22/09/2025 à 16:25 | SaidZ | Formule dynamique faisant planter Excel | Personnellement j'essaierai de décomposer le LET étape1;ASSEMB.V(data); étape2;PRENDRE(étape1;;-1); étape3;FILTRE(étape1;étape2="Point fort"); etc. et je sortirai chacune des étapes dans le dernier argument du LET pour voir où le #VALEUR apparait il faut peut être mettre le SIERREUR à l'intérieur du... |
| 22/09/2025 à 14:13 | maverick59264 | Power query cumul par trimestre | Quelque chose comme EDIT ou un peu plus simple avec des dates Stéphane... |
| 22/09/2025 à 13:10 | maverick59264 | Power query cumul par trimestre | Et l'année prochaine, est ce que sera un nouveau fichier ou est-ce que les données des trimestres de 2026 doivent venir s'ajouter aux trimestres de 2025 ... |
| 22/09/2025 à 12:38 | maverick59264 | Power query cumul par trimestre | C'est évidemment possible par Power Query mais pour moi il ne faut pas confondre les données et l'affichage des données. A mon sens vous devez conserver l'intégralité des consommations des véhicules dans votre base sans calcul dans Power Query et c'est dans un TCD de synthèse que vous pouvez affiche... |
| 22/09/2025 à 12:00 | maverick59264 | Power query cumul par trimestre | En complément, pour avoir 03, 06, 09 et 12 et non le n° du trimestre Number.ToText(3*(Number.IntegerDivide(Number.From(Text.Start([Période],2))-1, 3)+1), "00") Stéphane... |
| 22/09/2025 à 11:51 | maverick59264 | Power query cumul par trimestre | Voici une proposition en langage M Remarque, le n° du trimestre peut aussi être obtenu avec Date.QuarterOfYear(Date.FromText("01 "&[Période], [Format ="dd MM yyyy"]) Stéphane... |
| 22/09/2025 à 09:32 | Claudius91 | Trouver le jour et l'heure valeur maxi dans un tableau | J'arrive un peu tard après les échanges en fin de semaine dernière mais pour avoir dans une seule cellule la date et l'heure du maximum (le maximum des maximum si plusieurs maximum) =MAX(($B$2:$Y$32=G34)*($A$2:$A$32+$B$1:$Y$1)) au format "jj/mm/aaaa hh:mm" et en matricielle Stéphane... |
| 18/09/2025 à 19:19 | gan62 | Formule Index et equiv | Afin d'avoir toutes les colonnes en une seule fois il faut mettre un 0 à la place du 1 en dernier argument du INDEX =INDEX(B1:D5;EQUIV(A8;A1:A5;0);0) Cela n'empêche pas de mettre des $ au bon endroit Stéphane... |
| 17/09/2025 à 12:36 | colineslm | JEUCUBE : Créer une liste avec exclusion d'un membre | Personnellement, j'ajouterai une colonne "A prendre" Oui/Non à ma table client j'ajouterai un MEMBRE.CUBE dans mon VALEUR.CUBE =MEMBRECUBE("ThisWorkbookDataModel";"[Table_Clients].[A prendre].&[Oui]") Stéphane... |
| 17/09/2025 à 12:20 | ben25000 | Une idée pour masquer les cellules qui ne contiennent pas le (1) ? | La MFC "blanc sur blanc" peut être simplifiée en =NB.SI(A4;"*"&$B$2)=0 Stéphane... |
| 16/09/2025 à 17:49 | etienne77 | QUERY - Fichier CSV - Code avec format Texte et chiffre | En complément, il est aussi possible d'utiliser la fonction Text.TrimStart pour supprimer tous les 0 au début des valeurs textuelles c'est à dire que 0034 deviendra 34 et que 0AZER deviendra AZER = Table.TransformColumns(Source,{{"code", each Text.TrimStart(_, "0"), type text}}) Stéphane... |
| 16/09/2025 à 17:38 | etienne77 | QUERY - Fichier CSV - Code avec format Texte et chiffre | Je suis d'accord, en général, il faut laisser les 0 en début de code mais sinon, pour supprimer ces 0 non significatifs il est possible d'utiliser la fonction Table.TransformColumns = Table.TransformColumns(Source,{{"code", each try Number.From(_) otherwise _, type any}}) Stéphane... |
| 15/09/2025 à 09:43 | cousinhub | [Power Query] Filtre personnalisé | Doublon à supprimer... |
| 15/09/2025 à 09:20 | cousinhub | [Power Query] Filtre personnalisé | Merci @cousinhub pour les analyses Une remarque concernant ta réflexion : "Tout comme on a déjà pu voir qu'une simple fusion exclusive était bien plus rapide qu'un filtre avec List.Contains..." J'utilise régulièrement type ce code pour filtrer des tables en ayant testé la performance vs Table.Nested... |
| 12/09/2025 à 14:39 | Chph51 | Dans la fonction FILTRE | En complément avec ESTNUM+EQUIV afin de ne pas répéter la plage de critère =Filtre(Adherents! $A$1:$E$150; ESTNUM(EQUIV(Adherents! $E$1:$E$150;{"ADO";"CARTE"};0)) on peut mettre les critères dans une plage et y faire ainsi référence =Filtre(Adherents! $A$1:$E$150; ESTNUM(EQUIV(Adherents! $E$1:$E$150... |
| 12/09/2025 à 10:51 | JB_ | Multiplier une matrice par ligne avec BYCOL | La fonction BYCOL n'est pas adaptée dans ce cas voir l'aide en ligne : Ne pas fournir de fonction LAMBDA ou autre chose qu’une valeur unique retournée par la fonction LAMBDA retourne une erreur #CALC. Avec MAKEARRAY par ailleurs Plage_NB;NB*SEQUENCE(;COLONNES(Plage_AN);;0); est équivalent à Plage_NB... |
| 11/09/2025 à 12:28 | cousinhub | [Power Query] Filtre personnalisé | Je pense qu'on peut remplacer if List.Contains({49..57},Character.ToNumber(_)) then "0" else _ par if List.Contains({"1".."9"},_) then "0" else _ Stéphane... |
| 11/09/2025 à 10:48 | cousinhub | [Power Query] Filtre personnalisé | J'avais aussi imaginé une solution avec Number.From mais il y a au moins une exception (très tordue il est vrai !) avec le caractère infini ∞ = Character.FromNumber(8734) et Infinity is number renverra True et donc un 0 Enfin, d'ici à avoir ce caractère dans une liste de n° de téléphone ! Stéphane... |
| 10/09/2025 à 23:16 | cousinhub | [Power Query] Filtre personnalisé | Autre approche en réalisant un List.Accumulate non pas sur chaque ligne une par une mais pour remplacer chacun des chiffres de 1 à 9 par 0 dans la colonne en entier je n'ai pas testé l'efficacité sur une grande base EDIT la gestion en liste de liste peut être intéressante quand on doit remplacer des... |
| 10/09/2025 à 22:27 | cousinhub | [Power Query] Filtre personnalisé | Merci du retour ! Je vois que mon pseudo n'est pas inconnu de certain Une autre possibilité Stéphane... |
| 10/09/2025 à 19:12 | cousinhub | [Power Query] Filtre personnalisé | Bonjour Je suis nouveau venu et je souhaite vous partager une autre approche en testant la longueur, la présence uniquement de nombres et d'espace ainsi que la position des espaces Sinon, - "NN 12 34 56 78" passe le test de JFL1 on peut substituer N par 0 avec donc un remplacement de moins - "01A23... |