Automatisation avec pour Event une date

Shining

XLDnaute Nouveau
Bonjour à vous.
Je vous contact car après recherche, je tombe sur des bouts de code non fonctionnel et des choses qui fonctionne pas, donc je ne sais pas comment m'y prendre.
Je cherche à automatiser l'ajout d'une ligne a la suite d'un classeur Excel. (2016 et 2013)
Le fichier est un fichier Comptable, et les ajouts automatiques sont des Charges Fixes donc des constantes (pour illustrer ma demande).
Actuellement j'ai trouver comment écrire mes constantes grâce à l'enregistreur de macro

Code:
ActiveCell.Select
    ActiveCell.FormulaR1C1 = "Ma Charge Fixe"
    ActiveCell.Offset(0, 2).Range("A1").Select
    ActiveCell.FormulaR1C1 = "Ma constante"
    ActiveCell.Offset(6, 0).Range("A1").Select

Grâce à ce bout de code, je sais comment écrire a partir d'une celle active, parfait, en jouant avec les offset je pourrais faire tous ce que je souhaite (ajouter plusieurs lignes)

Maintenant, j'ai cherché des codes pour trouver la dernière colonne utilisé ou non utilisé peu importe.
J'ai tester plusieurs code, rien de concret.
Une fois que je connais l'index de la dernière row, je cherche a activé une cette Cell pour la faire devenir l'ActiveCell et donc pouvoir utiliser le code ci dessus.

Et pour finir, je souhaite planifié cette macro, avez vous des cron/jobs en excel ? Je ne suis pas satisfait par les solutions que j'ai trouvé sur la toile, car ils passent par le planification de tache, et un script batch, et exécute leurs fonctions avec l’événement Workbook_Open.
Moi je prefererais qu'a chaque Workbook_Open, mètre un test du genre : (je vous l’écrit en algo simple car je connais pas la syntaxe)

Début Workbook_Open
Constante MoisDernièreAutomatisation type int (persistante, même après la fermeture du fichier, éventuellement je peux l’écrire dans une cellule masquée)
SI : MoisActuel > MoisDernièreAutomatisation AND JourActuel >= 10 (exemple)
Alors Exécute Fonction_Ajout_Charge_Automatique()
Fin Workbook_Open

Il est important pour moi d'avoir un fichier qui est totalement indépendant, si des taches planifier doivent entré en jeux, alors le fichier est dépendant de la tache planifié et donc du PC, je souhaiterais évite cette contrainte.

Si vous voyez une autre façon de faire (j'ai une idée d'algorithme mais c'est beaucoup plus complexe et je n'ai pas le niveau en VBA)

Dernière remarque : IL EST INDISPENSABLE que ceci soit inclus dans le fichier xlsx, si une manip n'est pas faisable directement par le fichier, et qu'une tache planifiée doit entrer en jeux, alors il est inutile de m'aider, car dans ce cas je peux créer un exécutable qui ouvrira le fichier et qui ajoutera les informations automatiquement (en C# .net). En c# je sais effectuer toutes les actions que j'ai cité plus haut, aucun problème, même faire mieu, mais je dépendrais du PC sur lequel la tache et l'exe sont configuré. Mon but est d'avoir un fichier indépendant du PC sur lequel il est ouvert.

Merci de votre lecture !
Cordialement.
 

Shining

XLDnaute Nouveau
Re : Automatisation avec pour Event une date

Bonjour Shining.
Peux-tu joindre un fichier exemple pour nous éclairer ?

Non, je suis désolé c'est un fichier sensible qui contient des données personnelles.
Mais il m'a sembler bien ciblé mes besoins, en voici un résumé :

Avoir l'index de la dernière ligne utilisée. (ou la première ligne libre)
Sélectionner une cellule.
Automatiser une fonction en fonction d'une date mensuelle.

Je vais essayer de récupérer le fichier et falsifier les données, mais actuellement je n'ai pas le fichier de comptabilité.
Je vais voir ce que je peux faire, je comprend qu'un fichier exemple est utile.
Je reviens vers vous au plus vite.

Concernant mes questions sur un fichier standalone, c'est possible au moins ?

Merci de votre réponse !
 

Statistiques des forums

Discussions
312 047
Messages
2 084 864
Membres
102 690
dernier inscrit
souleymaane