Effacer une cellule = réinitialiser une ligne

Bonjour,

Très débutant en VBA, je ne parviens pas à trouver une solution à mon problème :

Je dois faire un tableau des tâches pour mon entreprise, tâches qui seront ensuite visualisées par collaborateur dans un calendrier. Dans le fichier ci-joint, seul le premier Onglet ("Plan") nous intéresse.

Les lignes prévues pour les tâches sont par défaut dénuées d'affichage (mais il y a des formules dans la 2ème partie de la ligne, pour afficher les créneaux de dates par défaut). Lorsqu'on saisit qqch dans le champ "Tâches" (colonne C), tout s'illumine et on peut commencer à saisir les différents critères.

Mon problème consiste dans la suppression d'une tâche. Je pourrais bien sûr sélectionner la ligne et tout supprimer, mais j'aurais alors une ligne blanche, sans formule, plantée au milieu de mes tâches, alors que je voudrais deux choses :

  • que la ligne récupère par défaut les formules d'une ligne vierge
  • que la ligne se place ensuite en bas des tâches afin de ne pas avoir un "trou" au milieu des tâches actives

Pour le 1er point, copier/coller une des lignes vierges (par exemple la dernière ligne du tableau) permettrait de récupérer les formules (puisque l'usager a peut-être édité les champs date possédant les formules par défaut). Ce que j'ai fait dans le fichier ci-joint pour la 3ème tâche, en recopiant toutes les colonnes sauf la colonne A. Mais il faudrait un code qui déclenche cette action sur la bonne ligne, par exemple si je supprime le champ "Tâches" de cette même ligne. Et ça, je ne sais pas faire

Ensuite, il faut déplacer cette ligne réinitialisée après les autres tâches. Je peux faire un de mes tris (boutons macro en tête du fichier), ça marchera pour le tri par tâche, mais je perdrai mon ordre initial qui est représenté par les no de la colonne A. En effet, les numéros de la colonne A ne sont pas dynamiques et la ligne effacée no 3 (par exemple) gardera le no 3 et donc se replacera au mauvais endroit sur le tri par no. Pour changer cela, il faudrait que les no de la colonne A se recalculent à chaque ajout ou suppression de ligne, mais si je fais ça, les no changent dès que je fais un autre type de tri (par exemple par tâche) et je perd mon ordre d'origine.

Comment faire pour que cette liste de no suive les différents tris sans changer, mais se change quand on supprime une ligne ?

Merci d'avance pour vos lumières et bonne journée !

Bonjour toutes et tous

Je ne sais pas si, j'ai bien compris (merci à Ferrand )

- ajouter un bouton

1)sélectionner la ligne

2) clic bouton

les formules y sont ci-joint (dans le Module 2 Macro Ajouter)

crdlt,

André

Rechercher des sujets similaires à "effacer reinitialiser ligne"