Selection et effacement de colonnes à intervalles réguliers
Bonjour,
J'ai essayé de créer une macro pour sélectionner et effacer des colonnes de tableau à intervalle régulier mais cela ne fonctionne pas.
J'ai un tableau (pièce jointe) qui comporte une première partie fixe (colonnes A à R), puis 31 pavés identiques (pour les 31 jours du mois) de 35 colonnes (premier pavé colonne S à BA).
1- Je voudrai sélectionner et effacer dans chaque pavé les colonnes colorées en jaune dans le premier pavé, mais mon essai de macro pour effacer les 5 premières colonnes de chaque pavé ne fonctionne pas.
2 - Après l'effacement, je voudrais également que dans la colonne 1, 3, 4 et 5 de chaque pavé viennent se remettre les formules qui se trouvent respectivement sur la ligne 7 des colonnes S, U, V et W (j'ai une macro qui fonctionne mais ce n'est peut-être pas optimal et surtout j'arrive à le faire pour le premier pavé mais comment faire une boucle pour que cela se fasse également dans tous les autres pavés ?).
Mes essais de macros sont directement sur la feuille active.
Merci d'avance pour votre aide.
Bonjour nickal,
SI j'ai bien compris, le TS contient :
- des données dans les colonnes A à R que tu veux conserver
- des données dans les colonnes coloriées en jaune que tu veux effacer
- des formules dans les colonnes S, U, V et W qu'il faut restaurer après effacement car elles peuvent avoir été écrasées par des saisies
- des formules dans les colonnes des lignes en alternance vert / blanc qui ne sont jamais écrasées
Si les 4 points ci-dessus sont exacts, il est plus simple et beaucoup plus rapide (voir procédure EffacementData dans le module associé à la feuille "HEURES") de :
- sauvegarder dans un tableau les données des colonnes A à R
- vider le tableau
- restaurer les données des colonnes A à R ce qui restaurera toutes les formules du tableau
J'ai modifié le nom de la 1ère colonne du TS (en A6) pour mettre "Conducteurs" au lieu du nom d'une personne.
Illustration dans le fichier joint. J'ai mis un MsgBox après l'effacement et avant la restauration des données pour que tu puisses voir que les données ont bien été effacées, tu pourras le supprimer.
Cdlt,
Cylfo
Bonjour Cylfo et merci pour la réponse.
Je n'ai pas répondu immédiatement car j'ai pris un peu de temps pour tester. Tout fonctionne, sauf que pour le premier point évoqué (les données des colonnes A à R) je veux effectivement les conserver mais dans ces colonnes il y a des formules. Du coup elles sautent pour se mettre en valeur.
En fait, pour les colonnes A à R, il faut conserver les formules qui sont dans les colonnes C, E, G, H, I. Pour les autres ce sont des valeurs qui effectivement peuvent être recopiées.
Désolé je n'avais pas précisé ce point dès le départ.
Re,
La modif est intégrée dans le fichier joint, mais attention, ce n'est possible que si :
- les formules des colonnes C, E, G, H et I ne sont jamais écrasées par une saisie manuelle (ou que si elles l'étaient il serait mieux de restaurer les formules).
- ces colonnes contiennent des formules liées au tableau. Dans le fichier de test fourni l'ajout d'une ligne ne propage pas de formules dans ces colonnes. J'en ai créé une pseudo en colonne C pour tester
Point d'attention, le code se base sur les noms des colonnes définis dans le tableau structuré (donc tantôt un nom significatif, tantôt un nom générique). Si tu envisages d'harmoniser les noms des colonnes du TS, il faudra modifier le code pour actualiser les noms des colonnes.
Cdlt,
Cylfo
C'est noté. Tout semble nickel, merci encore.