Toutes mes réponses sur les forums

15 sujets de 31 à 45 (sur un total de 283)
  • Auteur
    Messages
  • en réponse à : Formatage du texte dans un MSGBOX #122505
    Stéphane Lorin
    Participant

    Bonjour

    Exemple avec un UserForm dans VBA.
    Attention, il faut mettre sa propriété ShowModal à False

    If … Then
    UserForm1.Show
    Application.Wait (Now + TimeValue(“00:00:02”))
    UserForm1.Hide

    Stéphane

    en réponse à : Compter le nombre de lignes #122504
    Stéphane Lorin
    Participant

    Bonjour

    Par exemple en cellule A2 :

    =NB.SI.ENS(C$2:C2;C2) mais ça peut être lourd si vous avec des milliers de lignes, le $ est important pour compter toujours depuis la ligne 2.

    =SI(C2=C1;A1+1;1) puisque vos n° de commande semblent triés

    je vous encourage à utiliser les tableaux structurés, c’est une très bonne pratique dans Excel.

    Stéphane

    en réponse à : Formatage du texte dans un MSGBOX #122460
    Stéphane Lorin
    Participant

    Bonjour
    Il me semble qu’il n’est pas possible de modifier la police d’un MsgBox
    Mais vous pouvez piloter par macro une étiquette (contrôle ActiveX du menu développeur) ou une zone de texte (du menu insertion) ou encore insérer un UserForm dans VBA.

    Stéphane

    en réponse à : Remplir vers le bas dans certains cas #122459
    Stéphane Lorin
    Participant

    Bonjour

    il y a un mélange entre nos échanges avec Daniel

    la solution que je propose est simple, sans tri ni regroupement

    une première requête pour filtrer les “Entête production” que j’ai nommée “filtre”
    let
    Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
    #”Lignes filtrées” = Table.SelectRows(Source, each [Line type] = “Entête production”)
    in
    #”Lignes filtrées”

    une seconde requête pour la fusion

    let
    Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
    #”Requêtes fusionnées” = Table.NestedJoin(Source, {“Prod order no”}, Filtre, {“Prod order no”}, “Tableau1″, JoinKind.LeftOuter),
    #”Colonnes supprimées” = Table.RemoveColumns(#”Requêtes fusionnées”,{“NomClient”}),
    #”Tableau1 développé” = Table.ExpandTableColumn(#”Colonnes supprimées”, “Tableau1”, {“NomClient”}, {“NomClient”})
    in
    #”Tableau1 développé”

    Stéphane

    en réponse à : Remplir vers le bas dans certains cas #122426
    Stéphane Lorin
    Participant

    Bonjour
    il me semble que c’est ce que je proposais dans mon post #122307 du 10 novembre.
    Vous commencez par filtrer votre table sur la colonne line type
    puis vous fusionnez vote table initiale avec cette table filtrée sur le prod order No

    Stéphane

    en réponse à : PB REF & bascule formules Excel en langage M Power Query #122308
    Stéphane Lorin
    Participant

    Bonjour

    le plus simple est d’ajouter une colonne “Clé” avec ces 8 premiers caractères
    de regrouper sur cette nouvelle colonne en ajoutant un index

    du style
    = Table.Group(Etape_précédente, {“Clé”}, {{“Données”, each Table.AddIndexColumn(_,”Index”,1)}})

    puis de développer l’ensemble.

    Stéphane

    en réponse à : Remplir vers le bas dans certains cas #122307
    Stéphane Lorin
    Participant

    Bonjour

    une autre possibilité en deux étapes.
    – une première requête pour filtrer la table sur le champ Line_type = “Entête production”
    vous obtenez ainsi le NomClient de chaque Prod_Order_No
    – une seconde pour fusionner la table initiale avec cette table filtrée sur le champ Prod_Order_No pour ramener le NomClient.

    Stéphane

    en réponse à : PB REF & bascule formules Excel en langage M Power Query #122211
    Stéphane Lorin
    Participant

    Bonjour

    Vous pouvez utiliser
    = if [A] = null then [B] else [A]

    mais je préfère ?? coalescence

    = [A] ?? [B]

    voir des explications en anglais
    https://gorilla.bi/power-query/coalesce/

    Stéphane

    Stéphane Lorin
    Participant

    Bonjour
    dans votre copie d’écran je constate qu’il manque une virgule à la fin de la ligne 7 (il faut une virgule à la fin de chaque étape sauf la dernière avant le “in”)
    il manque également une virgule dans le code que vous avez indiqué dans votre message :
    Source = Menu_Deroulant ,

    ensuite en ligne 8 il faut indiquer l’étape précédente et non “source”
    Table.Group(#”Doublons supprimés”,….

    Attention aussi aux “, quand on copie/colle depuis le forum, ce n’est plus tout à fait le même symbole

    Enfin, on n’a pas accès à votre lecteur réseau (et heureusement !) on ne peut donc pas utiliser les requêtes de votre fichier joint.

    Stéphane

    Stéphane Lorin
    Participant

    Par exemple avec un Table.Group puis un Table.FromColumns

    Supposons un Tableau1 avec 2 colonnes : la première “Titre” et la seconde “Eléments”

    let
    Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
    TableGroup = Table.Group(Source, {“Titre”}, {{“Liste”, each [Eléments], type list}}),
    TableFromColumns = Table.FromColumns(TableGroup[Liste],TableGroup[Titre])
    in
    TableFromColumns

    le Table.Group pour obtenir une liste des éléments par “titre”
    le Table.FromColumns pour construire la table qui aura les “titre” en en-tête et les éléments de chacun en colonnes

    Stéphane

    Stéphane Lorin
    Participant

    Bonjour
    La fonction Pivot n’est peut être pas la plus adaptée à votre problème.
    pouvez vous fournir un exemple anonymisé de la structure de vos données avant cette étape ?
    Stéphane

    en réponse à : Problème de cardinalité – Doublons #121786
    Stéphane Lorin
    Participant

    Bonjour
    Je ne suis pas certain de bien comprendre la question. Qu’appelez vous un doublon de casse ?
    Pour comparer 2 valeurs avec des casses différentes vous pouvez utiliser cette fonction :

    = Comparer.Equals(Comparer.OrdinalIgnoreCase, “ABC”, “abc”)
    renverra TRUE

    Sinon, pour supprimer des doublons de casse différente, vous passez tout en majuscule et vous supprimez les doublons

    Dans un regroupement, vous utilisez le 5e argument du Table.Group pour indiquer que vous voulez regrouper les lignes de casse différentes

    = Table.Group(Etape_précédente, {“ColA”}, {{“Données”, each _}}, GroupKind.Global, Comparer.OrdinalIgnoreCase)

    dans la ColA, les “Abc” et les “ABC” seront regroupés

    Stéphane

    en réponse à : Suppression de lignes #121785
    Stéphane Lorin
    Participant

    Bonjour
    il suffit de sélectionner la ou les colonnes voulues puis de supprimer les doublons
    vous obtiendrez alors une formule du type

    = Table.Distinct(Etape_Précédente, {“ColA”, “ColB”})

    Si la liste est vide {}, les lignes en doublons seront supprimées
    Sinon, seuls les doublons des colonnes listées le seront.

    Stéphane

    en réponse à : Problème de récupération des accents, source fichier html local #107159
    Stéphane Lorin
    Participant

    Bonjour
    Vous indiquez avoir déposé en PJ un exemple de fichier HTML mais il n’y a que les fichiers jpg.
    Il n’est donc pas possible de faire des tests
    Stéphane

    en réponse à : recuperer le mois #106971
    Stéphane Lorin
    Participant

    Bonjour
    J’ai pu tester avec Excel
    Date.Month ne suffit pas pour obtenir le mois, il faut convertir le texte en date avec Date.From
    Cela donne donc

    List.Transform(Text.Split([Dates_tournées],”,”),each Date.Month(Date.From(_)))

    Stéphane

15 sujets de 31 à 45 (sur un total de 283)