Liaison pour insertion de lignes

Bonjour!

J'aimerai que vous m'aidiez à trouver une solution pour l'insertion de ligne.

En effet j'ai, sur 3 feuilles de mon classeur, 3 tableaux plus ou moins les même.

Sur ces 3 tableaux il y a le même nombre de lignes et les tableau commencent tous à la ligne 18 mais il m'arrive parfois d'en rajouter et à ce moment je suis obligé de rajouter manuellement les lignes sur les 3 feuilles.

J'aurai aimé que si je rajoute une ligne dans la premier tableau et bien cette même ligne se rajoute toute seule dans les 2 autre tableaux... (évidemment au même endroit, si j'insère une ligne entre 120 et 121 sur ma première feuille alors la ligne sera insérée entre 120 et 121 sur les autres feuilles aussi).

Comment puis-je faire cela? Est-ce seulement faisable?

Bonjour

Un essai, à défaut d'une meilleure idée.

Bye !

56classeur1.xlsm (21.94 Ko)

Bonjour!

J'ai honte de ne pas avoir pensé par moi même à cette solution...

Un dernier problème tout de même lors de l'insertion de ligne.

Par exemple si au lieu des chiffres j'ai une formule, j'aimerai que cette formule ce mette toute seule dans la nouvelle ligne insérée et que je n'ai pas à faire manuellement cela:

Merci pour la première réponse :3

sans titre
Zayx a écrit :

si au lieu des chiffres j'ai une formule, j'aimerai que cette formule ce mette toute seule dans la nouvelle ligne insérée et que je n'ai pas à faire manuellement cela

Quand les feuilles sont groupées, tout ce que tu fais sur une feuille se fait sur les autres.

Si tu as une formule sur une feuille et pas sur les autres, il te suffit de cliquer sur cette formule, dans la barre de formule et de valider : ta formule sera reproduite sur les autres feuilles...

Bye !

Sauf que les formules dans mon tableau 1 ne sont pas les même que dans mon tableau 2.

Par exemple (rien à voir avec une formule), dans mon tableau 1 (sur ma feuille sommaire) j'ai le titre de ma série en colonne A1 mais pour ne pas répéter l'opération x3 dans la colonne A de mon tableau 2 et 3 j'ai =Sommaire!A1

Pour ce qui est des formules j'ai certaines colonne dans mes 3 feuille ou j'en ai et ce ne sont pas les même donc impossible de regrouper mes 3 feuilles et faire la même opération puisque ce n'est pas ce que je veux. Pour ce qui est d'insérer une ligne au même endroit sur les 3 feuilles le groupement fonctionne, pour le reste NON.

D'ou ma question au dessus, "est-il possible que lors d'une insertion de ligne, cette nouvelle ligne reprenne les formules et autres des lignes précédente SANS que j'ai besoin de le faire manuellement?"

Exemple:

J'ai =Sommaire!A1 en A1 de ma seconde feuille, j'ai =Sommaire!A2 en A2 de ma seconde feuille, si j'insère une ligne entre ces deux (donc A2 deviendra A3 et passera en A3=Sommaire!A3 et j'aurai une nouvelle cellule A2) que ma nouvelle cellule A2 devienne =Sommaire!A2 toute seule sans que j'ai à le rentrer manuellement?

Je passe la main...

Ok, merci quand même J'attendrai que quelqu'un puisse me donner une réponse.

Bonjour

Pour améliorer tes chances d'avoir une solution

Un fichier, même structure que l'original, des données ainsi que des formules

J'y ai pensé mais le soucis c'est que juste les 3 feuilles de mon classeur avec les tableaux sont trop lourde pour pouvoir les partager.

Je vais faire un exemple light qui ressemble au miens avec des indications

6classeur1.xlsx (15.75 Ko)

Évidemment c'est un classeur fait à l'arrache, le miens a des 100e de lignes et plus de colonne mais j'ai mis la totalité des colonne qui comporterait une formule (même si les formules sur mon classeur sont plus complexes).

Ce qui m'importe c'est la marche à suivre pour pouvoir le refaire à ma guise si je doit réitérer la chose plutôt que d'avoir une solution toutes faite sans explications Merci d'avance pour votre aide!

Bonsoir

A tester

Bonjour, j'ai testé ton code et ça serait vraiment le top! L'insertion de lignes par double clique avec la mise en place auto des formules c'est le top! Cependant j'ai déjà une macro qui me permet d'aller, grâce à un texte dans une cellule, à la page qui porte le même nom par un double clique.

J'ai l'impression que c'est pour cela que lorsque je met ton code sur mon fichier et bien il m'affiche un message d'erreur quand j'essai d'insérer une ligne par double-clique...

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
            On Error Resume Next
            Sheets(Target.Value).Activate
    End Sub

Est-il possible de garder les deux? J'utilise pas mal mon ancienne macro donc...

Bonjour

On va réserver la colonne A pour l'insertion de la ligne, mais tu peux changer

Remplaces la macro existante par celle-ci

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  If Target.Column = 1 Then ' 1 = colonne A, 2 = colonne B etc ....
    Cancel = True
    InsertionLigne
  Else
    On Error Resume Next
    Sheets(Target.Value).Activate
  End If
End Sub

D'accord je vais changer en colonne C car justement les noms qui font liaison par double-clique vers les feuilles sont en colonne A et B pour la liaison des fiches au sommaire

J'ai test la chose et cela me conviens! Un gros merci, c'était pas une solution que j'aurai pu trouver juste en cherchant

Bonjour! Je reviens vite fait en fait pour une dernière question!

Est-il possible de le faire par double-clique droit?

Non pas que le double-clique gauche m’horripile mais si jamais j'ai le malheur de double-clique gauche en colonne C pour y entrer une valeur et bien çela va me rajouter une ligne, et comme j'utilise rarement le clic droit et jamais le double-clique droit ça serait une sureté de plus.

Voila voila, à plus tard!

Bonjour

Zayx a écrit :

Est-il possible de le faire par double-clique droit?

N'existe pas

Mais par le clic droit

Remplaces la procédure par celles-ci

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  On Error Resume Next
  Sheets(Target.Value).Activate
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  If Target.Column = 1 Then ' 1 = colonne A, 2 = colonne B etc ....
    Cancel = True
    InsertionLigne
  End If
End Sub

Je vais prendre le clique droit sur colonne C ça sera toujours mieux que le double-clique Merci encore et bonne journée!

Je reviens avec un nouveau problème Banzai

Quand j'applique un filtre avant d'insérer une ligne par clique droit (ta macro) et bien cela m'ouvre le débogage. Aucun problème sans filtre mais j'ai une feuille avec plus de 600 ligne et donc je suis obligé de filtrer par texte pour trouver l'endroit approximatif ou je dois insérer la ligne plus facilement...

Une idée sur le problème? Quand je lance le débogage il me surligne cette ligne:

ws.Rows(Ligne + 1).Copy ws.Rows(Ligne)

Je te redonne ton code dans son intégralité:

Sub InsertionLigne()
Dim Ligne  As Long
Dim ws As Worksheet

  Application.ScreenUpdating = False
  Ligne = ActiveCell.Row
  For Each ws In Sheets(Array("Sommaire", "Prévisions", "Tableau des téléchargements"))
    ws.Rows(Ligne).Insert
  Next ws
  For Each ws In Sheets(Array("Sommaire", "Prévisions", "Tableau des téléchargements"))
    ws.Rows(Ligne + 1).Copy ws.Rows(Ligne)
  Next ws
End Sub

J'espère que tu saura me secourir.

Je te donne également le code de filtrage:

Private Sub TextBox1_Change()
Application.ScreenUpdating = False
Me.TextBox1 = Application.WorksheetFunction.Proper(Me.TextBox1)
Dim ws As Worksheet
  For Each ws In Sheets(Array("Sommaire", "Prévisions", "Tableau des téléchargements"))
Dim sCritere As String

    sCritere = "=" & TextBox1.Text & "*"
    ws.Range("$A$18:$J$100000").AutoFilter Field:=1, Criteria1:=sCritere, _
        Operator:=xlAnd

  Next ws
  End Sub

Bonsoir

Pas trop réfléchis au problème mais je pense que c'est dû au filtre

Car le numéro de la ligne visible n'est pas (fortes chances) la précédente de celle qui au dessous

Il faut supprimer le filtrage avant l'insertion

Donc tu double clic sur une ligne, tu ôtes le filtre et tu fais l'insertion

Si cela te convient je veux bien essayer de bricoler une macro, mais il me faut le fichier dernière version

Et bien dans ce cas on garde le filtre et il faudrait une macro qui "défiltre" en premier "Showalldata"?, insère une ligne au dessus de la ou j'ai cliqué droit et ensuite me ramène à cette dernière ligne insérée (pour pouvoir modifier mon tableau sans avoir a refiltrer ou scroller) et ce sur 3 feuilles la même chose (car ta macro m'insère une ligne au même endroit sur 3 feuilles différentes :p donc il faut que je soit sur la bonne ligne sur les 3 feuilles sans avoir a re filtrer ou scroller).

Assez compliqué a faire non? J'imagine déjà le ralentissement du classeur...

Bonsoir

Zayx a écrit :

Assez compliqué a faire non?

Avant c'est toujours compliqué et après 'c'était simple'

Zayx a écrit :

J'imagine déjà le ralentissement du classeur...

Et si en plus tu peux imaginer le résultat du loto cela m'arrangerait

Tant que cela n'a pas été fait pas évident de savoir

Suis comme St Thomas

Rechercher des sujets similaires à "liaison insertion lignes"