XL pour MAC Analyse et traitement de différentes données dans une cellule

easyburn1

XLDnaute Nouveau
Bonjour,

Il n'est pas vraiment facile de mettre par écrit ce que je visualise clairement, mais je vais essayer :-D

J'ai un tableau dans lequel j'enregistre pour chaque audit réalisé les données suivantes (par ligne) : mois / nbr de jours / Lead-Ass / Codes
J'aimerai ensuite pouvoir en faire une analyse et connaître le nombre de jours réalisés en tant que Lead ou Assessor pour un code donné.

Est-ce possible et si oui, qu'elles sont les fonctions/formules qui s'y prêteraient ?

Cordialement
 

Pièces jointes

  • Suivi codes Audits.xlsx
    9.4 KB · Affichages: 18

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Easyburn,
Avec un Somme.si.ens:

Le double Somme.si.ens utilisé, c'est parce que certains codes sont en chaines de caractères, d'autres en nombres.
 

Pièces jointes

  • Suivi codes Audits.xlsx
    13.4 KB · Affichages: 7
Dernière édition:

easyburn1

XLDnaute Nouveau
Merci Sylvanu,

Je ne connaissais pas cette formule et la trouve plutôt simple après l'avoir mis en pratique afin de bien la comprendre.

Pour autant et vu la diversité des codes, est-il possible d'automatiser l'identification des codes et le calcul associé ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Un essai.
Qu'entendez vous par identification des codes ?
Les retrouver en automatique ? Possible si vous changer la forme avec un code par colonne et du VBA. dans l'état difficile car il n'y a pas de syntaxe claire. Il y a des chaines de caractères et des nombres;
Avec une liste de codes c'est plus simple.
 

Pièces jointes

  • Suivi codes Audits (1).xlsx
    15.3 KB · Affichages: 8

easyburn1

XLDnaute Nouveau
Dans ce cas, est-il possible de générer une liste des codes (sans doublons) de l'ensemble de la colonne E ? Je pourrai ainsi y appliquer la formule 'somme.si.ens'.

Où peut-être qu'une autre syntaxe que la 'virgule' le permettrai ?
J'aimerai éviter de mettre un code par cellule...
 

easyburn1

XLDnaute Nouveau
Quelle réactivité, waouuuh !!!

Si c'est possible sans VBA, je préfère car mes années Basic sont loin derrière.
Si c'est trop compliqué, ça va me faire bosser le VBA :)

D'ailleurs le VBA buggue lorsque je clique sur Update.
Quelle est la fonction de la boucle j ?
 

Pièces jointes

  • Capture d’écran 2020-03-30 à 21.42.31.png
    Capture d’écran 2020-03-30 à 21.42.31.png
    43 KB · Affichages: 4
  • Capture d’écran 2020-03-30 à 21.54.58.png
    Capture d’écran 2020-03-30 à 21.54.58.png
    287.4 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Oups, j'utilise un dictionnaire et pour cela on a besoin de la référence "Scripting.Dictionary".
Assurez vous que la référence " Microsoft Scripting Runtime " est activée.
Mais sur MAC je ne sais pas comment faire.
Donc je l'ai ré écrite de façon classique. ( voir en PJ )

Sorry, mais sans macro, je ne vois pas quelle formule simple pourrait extraire ces données. On ne connait ni le nombre de codes par cellules ni si ce sont des nombres ou des chaines.
Il y a surement un moyen mais il m'échappe. Peut être que quelqu'un de plus futé pourra vous venir en aide.
 

Pièces jointes

  • Suivi codes Audits (V4).xlsm
    25.5 KB · Affichages: 6

Danixdb

XLDnaute Nouveau
Bonjour easyburn1, le Forum,

Si une solution par Power query te convient, alors ce fichier excel doit répondre à ta question.
Power query est natif à partir d'Excel 2016.
Espérant que cela puisse te servir.
Danixdb
 

Pièces jointes

  • Suivi codes Audits (1).xlsx
    143.8 KB · Affichages: 6

easyburn1

XLDnaute Nouveau
Bonjour à tous ;)

Sylvanu, le tableau fonctionne nickel et je n'ai pas réussi à trouver la référence "Scripting.Dictionary". J'ai l'impression que ce n'est pas présent sous mac...
Ton tableau est-il fiable sans ?
Un petit conseil pour me mettre de manière simple et efficace au VBA ?

Danixdb, comment actualiser le tableau de bord ?
Lorsque je clique sur les boutons etiquettes de lignes/colonnes j'ai l'erreur suivante...

Merci pour votre contribution.
 

Pièces jointes

  • Capture d’écran 2020-03-31 à 18.18.42.png
    Capture d’écran 2020-03-31 à 18.18.42.png
    16.6 KB · Affichages: 2

easyburn1

XLDnaute Nouveau
Sylvanu,

J'ai voulu légèrement mettre en forme mon tableau en insérant 3 lignes mais le VBA ne marche plus correctement malgré mon implémentation de 3 lignes sur les cellules E1, H2 & H1. J'ai essayé de voir qu'est-ce que j'ai oublié d'implémenter mais je buggue...
Ça aurai été cool également de pouvoir dupliquer l'onglet afin de traiter des années différentes...

Pourrais-tu me guider stp ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Ce n'est qu'un exemple. Il faut le remanier suivant votre fichier final.
1- Pouvez vous renvoyer le fichier, je ne vois pas ce que vous avez modifié. Toutes les cellules de la colonne E sont traitées. Sauf si vous avez rajouté des lignes au début, cela peut poser un problème pour la détermination du tableau.
2- Le bouton traite la feuille en cours. Si vous dupliquez cette feuille la macro traitera la nouvelle feuille.
 

Danixdb

XLDnaute Nouveau
Bonjour easyburn, le Forum,

Je n'avais pas vu que tu étais sur MAC et pourtant tu l'as préciser, désolé. Power query fonctionne aussi sur MAC me référant à ce que j'ai trouvé sur le Net, donc ça devrait fonctionner.
Lors de l'ouverture du fichier, normalement tu as du avoir un bouton demandant d'autoriser une connexion aux données.
Ensuite, tout se trouve dans le menu Données pour mettre à jour ou voir les requêtes. Mais il faut impérativement autoriser la connexion à la source de données.

Voici la requête basée sur ton fichier
let
Source = Excel.CurrentWorkbook(){[Name="tabSource"]}[Content],
#"Type modifié" = Table.TransformColumnTypes(Source,{{"Mois/Année", type datetime}, {"Lead / Assessor", type text}, {"Nbre jours", type number}, {"Codes", type any}}),
#"Fractionner la colonne par délimiteur" = Table.ExpandListColumn(Table.TransformColumns(Table.TransformColumnTypes(#"Type modifié", {{"Codes", type text}}, "fr-FR"), {{"Codes", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Codes"),
#"Espaces supprimés" = Table.TransformColumns(#"Fractionner la colonne par délimiteur",{{"Codes", Text.Trim, type text}})
in
#"Espaces supprimés"

Je t'assure que c'est un moyen simple et là pas besoin de VBA (même si je le pratique aussi) dès que je peux, je passe par Power query pour consolider mes données.
J'avoue ne pas savoir comment ça se comporte sous MAC et ne pas pouvoir t'aider plus, j'espère que tu trouveras une solution pour régler ton problème.
Peut-être quelqu'un sur le forum et ayant un MAC pourra t'aider à résoudre ce problème de connexion.
Bonne continuation
 

easyburn1

XLDnaute Nouveau
Sylvanu,
Voici le fichier modifié avec plusieurs bugs :
- liés à l'insertion de 3 lignes (j'aimerai bien savoir où se trouve l'erreur dans le VBA que j'ai mis à jour)
- liés à la duplication de l'onglet (le second fiche des valeurs différentes à chaque clic sur 'update'

Par ailleurs, est-il possible de supprimer les colonnes F & G et de faire apparaître le '0' devant certains codes dans le tableau de synthèse ? ex: 080006 & 066202
 

Pièces jointes

  • SUIVI CODES AUDITS (v4).xlsm
    25.9 KB · Affichages: 3
Dernière édition:

Statistiques des forums

Discussions
312 198
Messages
2 086 153
Membres
103 137
dernier inscrit
Billly