Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Excel VBA - remplissage des plages

kariboox

XLDnaute Nouveau
Bonjour,

J'ai une extraction d'un logiciel de pointage d'heures à analyser, j'ai essayé d'appliquer des bouts de code afin de remplir les plages vides, sans succès.
Ensuite dans l'onglet Synthèse je dois remplir les heures selon les mois, je ne sais pas si c'est possible sans passer par un TCD, au pire c'est pas très grave.
Avec un fichier joint ce sera plus simple à expliquer
Merci pour votre aide pour ce défi
bonne soirée
 

Pièces jointes

  • imputations heures v1.xlsm
    51.5 KB · Affichages: 17

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Une solution par power query, inclus dans votre version excel (onglet données/obtenir des données).

P.S. J'ai nommé la plage des données brutes "Datas_Brutes" définie comme suit :
='données brutes'!$A$1:$J$1000
C'est cette plage qu'interroge la requête. Si vous devez avoir plus de lignes que 1000 alors modifiez le 1000 de la définition de plage par un nombre suffisant.

Cordialement
 

Pièces jointes

  • imputations heures v1.xlsm
    69.3 KB · Affichages: 7
Dernière édition:

kariboox

XLDnaute Nouveau
Merci beaucoup Reblochon, en effet je ne connaissais pas du tout Power Query.
Pensez vous qu'on peut l'exploiter via la VBA afin que l'utilisateur ne s'y perde pas? je vais essayer de l'adapter pour voir si on peut y faire call pour que le PQ/VBA colle les données dans l'onglet dédié.
 

kariboox

XLDnaute Nouveau
Bonjour,

Le but de l'exercice est de construire un suivi d'heures simple sans pour autant que l'utilisateur soit obligé d'aller dans l'interface de Power query.
1) Dans l'onglet "données brutes" l'utilisateur colle l'extraction du logiciel d'heures (tel quel).
2) Par l'intermédiaire d'un bouton (forme rectangle faisant appel à une commande par exemple), qu'on puisse remplir le "résultat souhaité" et "SYNTHESE".

le résultat que vous avez fait est parfait, je cherche juste un moyen d'éviter à l'utilisateur d'aller dans powerquery, ou bien c'est pas nécessaire ? si l'utilisateur colle les nouvelles données d'extraction dans "données brutes", est ce que le contenu des onglets résultats et synthese vont disparaitre ?
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Avez-vous seulement essayé ? Vous auriez répondu à votre question vous-même ! Non ?

Normalement la réponse est oui !

Alors voilà ce qui peut se faire :

1 - L'utilisateur copie les données dans la feuille "données brute" puis clique sur un bouton "Traiter les données"
(Power query pourrait peut-être se charge de l'importation des données directement mais pour çà il faut nous en dire plus sur leur origine)
2 - les données sont traités par PQ puis copier/coller à la suite d'un tableau sur une feuille "données cumulées"
3 - avertir l'utilisateur que les données ont été copiées (ou non en cas de problème)

Pour la synthèse elle pourra être calculée par PQ à partir du tableau de la feuille "données cumulées" (si j'ai bien compris votre fonctionnement.) Par contre votre fichier ne concernera-t-il qu'une année ? Si non il faut savoir comment prendre en compte se paramètre.

Etes-vous d'accord avec cette procédure ?

A vous relire

Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Dans le fichier ci-joint, vous trouverez l'illustration de ce que je vous proposais dans mon précédent message.

La requête traite les données (dans la feuille cachée 'données PQ') et ensuite ces données sont copiées collées dans le tableau de la feuille "Données cumulées". La requête 'Rq_Synthèse' est alors mise à jour en integrant les nouvelle données.

Cliquez dur le bouton 'Traiter' les données et voyez ...

Cordialement
 

Pièces jointes

  • imputations heures v2.xlsm
    74.9 KB · Affichages: 6
Dernière édition:

kariboox

XLDnaute Nouveau
Top! Merci pour ton aide, je regarde en rentrant ce soir. Je découvre à peine power query, dans les vidéos youtube ils disent que ca a vocation de remplacer le VBA :/
Bonne fin de journée
 

kariboox

XLDnaute Nouveau
Bonjour,
C'est super! merci beaucoup. Je vais à présent associer un petit 'range' tarifaire selon classe intervenant (ABCDE..). J'ai attribué un nom à ma plage tarifaire, je cherche un moyen de distribuer les tarifs et le produit [tarif horaire] x [nb heures] dans 2 nouvelles colonnes tout à droite du tableau des résultats, sans succès. au pire je vais bricoler avec un Index/Equiv (via 'Formula' dans VBA). Il faut vraiment que je me forme au PQ.
Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Power query peut faire ce travail. Mais je ne sais pas ce que vous entendez par ' tableau des résultats'.
Lorsque vous intervenez sur le forum pour une demande, soyez toujours le plus précis possible. Par exemple ici, donnez le nom du tableau et de sa feuille (éventuellement).

Si vous rajoutez des colonnes à un tableau traité par PQ n'y mettez que des formules. PQ ne gère pas la cohérence des lignes de colonnes rajoutées manuellement. A la prochaine actualisation les données risquent de ne plus correspondre.

Bonne continuation
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour, (ne pas oublier le bonjour quotidien )

Une piste : interrogation par Index et equiv du tableau des tarifs horaires.
Une autre : à chaque mise à jour des données, avant de les renvoyer vers la feuille 'données PQ' demander à Power query de lier les tables (Rq_Résultats et Table tarifs) pour calculer tout ça.

Dans la première piste vous garderez les fonction, si les tarifs changent en cours d'années, ils seront re-calculés même pour les données antérieures.

Dans la deuxième, pas de formules et en cas de changement de tarifs, les données antérieures ne seront pas recalculées, et conserveront leurs valeurs.

Les deux solutions sont implémentées dans le fichier joint. J'ai mis la solution par formule hors tableau mais si c'est elle que vous choisissez vous pourrez l'intégrer au tableau.

Cordialement
 

Pièces jointes

  • imputations heures v2.xlsm
    88.9 KB · Affichages: 3
Dernière édition:

Discussions similaires

Réponses
21
Affichages
858
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…