Longueur "dynamique" ??
Bonjour à tous..
Mon fichier (ci-joint) comporte un nombre important de formules (toutes les colonnes jaunes).
Je m'en sert jusqu'à présent en "étirant" ces formules très loin (3000 lignes voir plus) [dans le fichier joint, je ne les ais pas étirées beaucoup pour pouvoir poster] . Ce qui alourdi énormément le fichier !
Je ne sais comment faire pour que ces formules "n'apparaissent" que lorsqu'elle sont "utiles" :
- Via un code Vba ? Cela a été fait sur la colonne A de l'onglet "échantillon daté", (en orange) voir le code de la page. Cette macro n'ayant pas été faite par moi, impossible pour moi de l'adapter aux différentes autres formules du classeur, et je ne sais pas si cette méthode est souhaitable/ adaptée...
- Via une "définition" de tableau spécifique (utilisant la fonction "DECALER" (que je ne connais que de nom), ou quelque chose comme ça ?
- Via une autre méthode ??
- J'ai beaucoup de MFC que je ne peux absolument pas perdre (il y a un risque avec les "conversion en tableaux", non?)
- Les colonnes A à K de l'onglet "Plannings" sont obtenus via une macro (que je n'ai pas jointe, vous me direz si elle est nécessaire) qui récupère les infos saisies de l'onglet "échantillon daté".
- Toutes les colonnes où se trouvent les formules concernées par ma demande sont en jaune, dans les onglets jaunes.
- La colonne orange de l'onglet orange "échantillon daté" est elle, traitée par Vba dans le code de la page...
Merci par avance de toute aide ou conseil que vous voudrez bien me donner...
Cordialement,
Bonjour
Voici un exemple pour la feuille Plannings :
1 - Insertion de 2 lignes au dessus
2 - Copier-Coller de la plage M4:AG4 (les formules) en M2:
3 - La ligne M2:AG2 est nommée "LigneFormules"
4 - Code à placer dans la feuille Plannings
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lg As Long
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
Lg = ActiveCell.Row
[LigneFormules].Copy Range("M" & Lg)
End If
End Sub5 - Tu peux masquer les lignes 1 et 2
6 - A chaque fois que tu inscriras quelque chose en colonne A la macro copiera les formules.
Amicalement
Nad
Bonjour Nad !
Merci beaucoup pour ton code et l'intérêt que tu portes à mon soucis.
Cependant, il demeure un problème :
Ce code semble fonctionner uniquement lorsque l'on saisi (ou colle) les lignes une par une (de A à K). Lorsque l'on colle plusieurs lignes à la fois, ou lorsque le contenu est généré par macro (ce qui est pareil je pense) et bien seule la 1ère (ligne 4 donc) est "calculée", les autres restent vides et sans formules...
Bizarrement également, mais cela n'est pas un soucis, juste une curiosité sans gravité, si je supprime des lignes (préalablement remplies), il demeure toujours une ligne avec les formules (je ne parle pas de la ligne 2 bien sûr), qui résiste à toutes les tentatives de suppression. Seul "effacer le contenu" fonctionne pour cette ultime ligne...
Si d’aventure tu aurais la gentillesse de regarder ce que l'on peut modifier pour palier à ce problème, j'essaierais moi-même par la suite d'adapter ton code pour mes autres onglets, , mais en créant un autre onglet spécial "formules" (que je laisserais masqué, en nommant correctement les plages), dédié à toutes les formules de tous les autres onglets également,, (et j'imagine en sautant au moins une ligne à chaque fois), afin de laisser les entêtes en ligne 1. A moins que tu me déconseilles de procéder de la sorte....
En tout cas, merci encore !!!
Amicalement également,