Insertion ligne dans un classeur excel

jcbord2 -  
redaiwa Messages postés 370 Statut Membre -
bonjour!
j'ai un premier tableau qui contient beaucoup d'information et pour éviter de les ressaisir, j'ai créé des tableaux liés au premier. quand j'ajoute une ligne dans mon premier tableau, je voudrais qu'un ligne se crée automatiquement dans les tableaux liés et au même rang.
cad si j'intercale la ligne 7 dans le tableau 1, je voudrais qu'une ligne 7 soit crée dans le tableau 2 en récupérant automatiquement les informations de la ligne 7 du tableau 1.

2 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Pratique-tu le VBA ?
    Ce que tu veux faire est assez aléatoire si tu veux le faire par formule.
    0
    1. jcbord2
       
      non je ne connais pas
      0
    2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Je ne peux pas savoir pourquoi tu fais des tableaux de copie mais a priori ce ne doit pas être une solution très judicieuse car tu vas te compliquer la vie.
      La fonction qui pourrait répondre à ton idée, c'est l'appareil photo mais il présente des limitations et permet surtout de créer des synthèses.
      0
    3. jcbord2
       
      chaque nouvelle feuille comporte des colonnes supplémentaires qui vont être par la suite complétées avec d'autres informations qui ne sont pas incluse dans la première feuille.
      0
    4. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonjour,

      C'est bien ce que j'avais compris, mais tu vas avoir bien du mal à pouvoir faire fonctionner cela.
      Si tu affectes une ligne des nouvelles feuilles avec les identifiants de la première feuille (c'est possible) puis que tu saisisses des données sur la même ligne des autres feuilles, lorsque tu vas introduire une nouvelle ligne en feuille 1, tes identifiants seront bien décalés mais pas tes saisies qui vont joyeusement se mélanger.
      C'est pour cela que je te parlais de VBA mais si tu ne pratiques pas c'est très compliqué de l'appréhender pour une fonction complexe comme la tienne.
      0
    5. jcbord2
       
      merci gbinforme pour ton aide, je vais continuer à réfléchir et voir la VBA
      0
  2. redaiwa Messages postés 370 Statut Membre 119
     
    Salam jcbord2 et gbinforme.

    Comme l'a bien dit gbinforme, la solution doit passer par VBA.
    Aussi, j'aimerais apporter ma contribution avec un petit code qui répondra, je l'espère, à ta préoccupation.

    Voici un fichier exemple : https://www.cjoint.com/c/ECqkCyyfcf8
    dans lequel tu trouveras le code suivant :
    Private Sub Worksheet_Change(ByVal Target As Range)
    ligne = Range("A100000").End(xlUp).Row
    While Range("A" & ligne) <> "" And ligne > 1
    ligne = ligne - 1
    Wend
    If ligne > 1 Then
    Sheets("Tableau 2").Rows(ligne).Insert Shift:=xlDown
    For colonne = 1 To Range("A" & ligne - 1).End(xlToRight).Column
    Sheets("Tableau 2").Cells(ligne, colonne).FormulaR1C1 = "='Tableau 1'!RC"
    Next colonne
    End If
    End Sub

    Ce code est placé dans l'évènement "Worksheet_Change" de l'onglet contenant "Tableau 1".

    J'espère avoir aidé, même partiellement. :)
    "Repousse le mal par le bien; et voilà que celui avec qui tu avais une animosité devient tel un ami chaleureux" (Coran)
    "Celui qui ne sait pas partager est infirme de ses émotions". (Marc Levy)
    0