Creer un classeur en distribuant les lignes d'un tableau

Bonjour, je suis novice en programmation et je ne sais par quel bout commencer mes lignes de code.

J'ai une feuille excel avec plusieurs colonnes dont la colonne B correspondant à la date de l'évènement et H retranscrivant si l'évènement est toujours en cours .

Je souhaite à partir de cette feuille ouvrir un autre classeur et recopier dans celui ci pour la feuille 1 les lignes avec l'évènement H en cours et colonne E ( MCR) avec 1, pour la feuille 2 les lignes avec l'évènement H en cours et colonne D ( AEO EL) avec 1, pour la feuille 3 les lignes avec l'évènement H en cours et colonneC (SAE) avec 1.

Je souhaite que les evenements du jour apparaissent en haut de la liste dans chaque feuille du nouveau classeur et que ce classeur se raffraichissent lorsque l'on lance de nouveau la macro en supprimant les evenements qui ne sont plus en cours.

Enfin, je souhaite envoyer par mail à une liste préfinie de destinataires ce classeur mis à jour avec un message/et un sujet type joint.

J'espère avoir été clair et je vous remercie par avance

juju26

23test-macro.zip (18.76 Ko)

Bonjour ! Bienvenue sur le forum et ... Bonne Année !

Un essai à tester. Te convient-il ?

Bye !

20test-macro-v1.xlsm (35.27 Ko)

Bonjour, meilleurs vœux également

Merci pour votre rapidité de réponse

Cette première version me permet d'avoir une très bonne base de travail.

La fonction report est vouée à être exécutée tous les jours avec de nouvelles données insérées dans le tableau "test macro"

Ainsi, j'aurai aimé que le report se fasse toujours sur un même classeur nommé " fichier DI " déposé sur mon bureau par exemple.

Et j'aurai souhaité que ce fichier DI puisse être enrichi pour les lignes toujours en cours par des commentaires d'utilisateur du fichier dans des colonnes supplémentaires (colonne I et J ).

Ainsi, la macro report ne ré écraserait pas les commentaires ajoutés lors d'une précédente exécution sur les lignes déjà en cours, mais rajouterait seulement des nouvelles lignes issues du tableau "test macro" à la suite dans les feuilles du classeur "fichier DI" , et purgerait les lignes pour lesquelles la colonne en cours est égale à "FAUX"

Je ne sais pas si j'ai été clair

Encore une fois merci pour votre aide.

Juju26

8fichier-di.xls (16.00 Ko)

Nouvel essai à tester, si j’ai bien compris.

Les deux fichiers doivent être dans le même dossier pour que la macro reconnaisse le chemin d’accès.

Et si tu veux avoir l’un ou l’autre accessible depuis le bureau, je te conseille d’y mettre un raccourci.

Pour cela, aller dans le dossier où il se trouve et, touches Ctrl et Majuscule enfoncées, faire glisser l’icone du fichier sur le bureau.

Cela te convient-il ?

Bye !

9fichier-di.xlsx (11.32 Ko)
9test-macro-v2.zip (25.62 Ko)

On s'en rapproche, mais les commentaires de la colonne I et J doivent être seulement présents dans le classeur "fichier DI": le classeur source " test macro" n'est pas voué a recevoir des commentaires

En outre, le classeur" fichier DI" doit pouvoir être rafraichi lorsque l'on lance de nouveau la macro report en ajoutant de nouvelles lignes et en supprimant les lignes qui ne sont plus en cours (avec les commentaires associées en colonne I J)

: Peut être faut il lancer une seconde macro après extraction pour mettre à jour les données

une nouvelle fois merci pour l'aide

Donc, si j'ai bien compris le fonctionnement, le fichier source est celui que tu mets à jour en ajoutant, en supprimant ou en modifiant des lignes.

Et tu veux que la macro mette à jour les 3 feuilles du fichier DI en y laissant les éventuels commentaires que tu y auras portés si les lignes correspondantes figurent toujours sur le fichier source.

C’est bien ça ?

A te relire.

Bye !

oui le fichier source est évolutif , la base de données se met à jour automatiquement en collectant des données à partir d'une application annexe.(ajout de lignes dans le tableau )

Je souhaite que la macro mette à jour les 3 feuilles du "fichier DI" en y laissant les commentaires ajoutés sur ces 3 feuilles si bien sûr les lignes sont toujours "vrai " dans la colonne en cours du fichier source.

Si possible, les lignes des feuilles du fichier DI seront triés par ordre chronologique ( date plus récente en début de liste)

bonne soirée

juju26

Bonjour

Nouvel essai à tester.

Bye !

10fichier-di.xlsx (14.09 Ko)
17test-macro-v3.zip (28.72 Ko)

bonjour, ca a l'air de marcher, super, je le testerai plus longuement demain soir

Je me suis aperçu d'un bug. le format de la date du fichier source "macro v3" est perdue lors de l'exécution de la macro : affichage :41163,47363 au lieu jj/mm/aa

Je transférerai ensuite cette macro dans le fichier originale ( qui est en lien avec le logiciel annexe qui met à jour le tableau)

bye

Juju26

NB: lors de l'ouverture d'office , il apparait un message indiquant processus de validation office : ouverture du fichier dangereux ??

bonjour, je me suis aperçu de bug. Quand je relance la macro après avoir enregistré le fichier DI, , blocage erreur d'exécution 9 : l index n'appartient pas à la sélection avec blocage à la ligne : For i = 0 To UBound(tablo2, 2) - 1

Il semble y avoir également un problème quand le tableau fichier DI est vide dans une feuille

merci

Bye

Bonjour

Je viens de télécharger les 2 fichiers que je t’ai envoyés je n’en ai pas d’autres) et j’ai refait tourner la macro, puis enregistré le fichier DI et refaite tourner.

Il ne se passe rien d’anormal. La macro ne ‘’bloque pas’’

J’ai ensuite vidé les 3 tableaux de DI et refait tourner la macro : les 3 tableaux se sont gentiment re-remplis.

Pour que je puisse corriger un bug, il faut que je puisse le reproduire.

Envoie-moi les 2 fichiers avec lesquels tu as ces problèmes.

Bye !

re bonjour, j'ai l'impression que le problème arrive quand une feuille de fichier DI se vide totalement ( aucun critère vrai)

Je te transmets la version quasi finale du projet qui bug (j'ai du insérer le chemin d'accès du fichier DI pour qu'il fonctionne )

Seul l'extraction des colonnes A à D devra être faite du tableau macro vers les feuilles fichier DI

Dans le fichier DI, des commentaires d'utilisateurs du fichier seront ajoutés dans la colonne A et dans la F de fichier DI .( ces derniers commentaires seront effacés quand leurs lignes auront disparus lors du rafraichissement par la macro report ( en cours = faux colonne P))

Enfin, je souhaiterai que les données soient rangées par ordre chronologique ( plus récent en début de tableau) dans les feuilles de fichier DI

Encore Merci

8test-macro-v3.zip (55.05 Ko)
9fichier-di.xlsx (18.08 Ko)

Je constate que les caractéristiqes du tableau de la feuille ‘’Test macro’’ ont été largement modifiées, ce qui implique de revoir toute la macro : ce n’est pas agréable du tout de devoir refaire un même travail.

De plus, les dates qui sont dans la colonne D ont un format bizarre. On dirait un format d’horodate mais en fait, il s’agit de texte…avec 2 espaces entre la date et les heures et … je ne parviens pas à convertir…

Désolé !

Bye !

Désolé d'avoir flingué ton travail , tu peux m' appeler" le boulet" !!

J'ai avancé à taton pour adapter ta macro a ma feuille finale

nb: le bug était présent également sur la macro v3 initiale

Encore désolé et merci de ton aide

juju26

Rechercher des sujets similaires à "creer classeur distribuant lignes tableau"