Insérer une ligne

Bonjour,

Sur une feuille j'ai plusieurs comptes de 4 colonnes.
Ces comptes n'ont pas tous le même nombre de lignes
Je démarre tous les comptes avec 5 lignes j'aimerais avoir la possibilité d'insérer une ligne supplémentaire avec la formule qu'elle doit comporter mais uniquement sur le compte ou les 5 lignes sont occupées.Les autres comptes ne doivent pas bouger .
Exemple colonnes A B C D et par la suite un autre compte exemple colonnes I J K L
Merci pour votre aide
Cordialement

33 réponses

Résumé de la discussion

Le problème central concerne l’insertion d’une ligne supplémentaire avec une formule sur un compte à 4 colonnes uniquement lorsque ce compte atteint cinq lignes, sans déplacer les autres comptes. Plusieurs solutions ont été évoquées, dont une macro qui gère l’insertion et la mise à jour des données sur la feuille compte, et une approche fondée sur le transfert via des libellés identiques entre feuilles. Des propositions montrent aussi d’envoyer les saisies depuis une colonne libellé vers les tableaux licence et km, insérer la ligne avant le total et recalculer les formules. En parallèle, des échanges évoquent des tests sur la suppression de lignes et la synchronisation des comptes, afin d’éviter des incohérences lors des échanges entre les feuilles.

Bobot (l’IA à votre service)
  1. Je viens de tester tout semble fonctionner normalement
    Merci encore
    Cordialement
    0
    1. Mais dans les versions précédentes, je t'ai dit que ce n'était pas prévu
      On vient de se croiser, vois le fichier ci-dessus post #31 qui permet les suppressions

      Cdlmnt
      0
      1. Re,

        Problème quand je fais des essais je ne peux pas supprimer
        Crdlt
        0
        1. Un bug corrigé
          Un essai à tester pour supprimer une ligne depuis la feuille Saisie
          http://www.cjoint.com/c/GBnr05hcNif

          Cdlmnt
          1
          1. Re,
            1) Effectivement et excuses moi je ne me souvenais plus avoir vu
            2) Pour le transfert vers les comptes c'est le top
            3) Pour la suppression de ligne c'est en cas d'erreur de saisie.
            Dommage que je ne puisse faire de suppression
            Je viens de trouver pour faire un tableau avec d'avantage de
            colonne.

            Merci encore pour ton aide
            Crdlt
            0
            1. 1. la suppression de ligne ne se fait pas.
              Mais, je t'ai déjà répondu haut (post #23)
              Chose que je viens de voir si je supprime une ligne dans la feuille saisie,elle ne se supprime pas dans le compte concerné
              Effectivement, ça n'est pas prévu, mais est ce que c'est une situation qui peut arriver (une fois qu'une ligne de saisie est validée et envoyée dans la feuille Compte)
              Question à laquelle tu n'as pas répondu !

              2. Ce que j'aimerai savoir c'est est ce que cette version fonctionne et correspond à ce que tu attends quant au transfert des données depuis la feuille Saisie vers le bon compte de la feuille Compte

              3. Pour ce qui est de la suppression d'une ligne, rien n'est actuellement prévu
              0
              1. Re,
                Je viens de retélécharger te dernière version,la suppression de ligne ne se fait pas.
                Pour supprimer je clique sur supprimer.
                0
                1. Je l'ai fait sur mon dernier envoi ;-()

                  Cdlmnt
                  0
                  1. Bonjour

                    Désolé mais en VBA je suis complètement largué.
                    J'ai essayé de mettre la phrase
                    If Target.Row < lilibFS Then Target.Offset(1, 0).Select: Exit Sub
                    mais ça ne marche pas
                    peut-être j'oublie quelque chose
                    Crdlt
                    0
                    1. 1. Le libellé dans la feuille Saisie (Subvention, Kms, Licence, ...) doit être strictement le même que les "titres" de tes tableaux en feuille Comptes (tu as mis Subvention en feuille Saisie et dans le code mais Subv dans la feuille Compte)
                      Je t'ai conseillé plus haut de mettre une liste de validation pour les cellules de la colonne B de la feuille Saisie. pour éviter ce genre de problème
                      2. Pour la ligne à ajouter
                      If Target.Row < lilibFS Then Target.Offset(1, 0).Select: Exit Sub
                      je t'ai précisé que c'est dans le module de la feuille Saisie et non dans le Module 1 qu'il fallait l'insérer.
                      Tu as les modules de feuille au dessus du dossier Modules dans l’éditeur vba
                      3. Avec les corrections
                      http://www.cjoint.com/c/GBmrLWlh2Cf

                      Cdlmnt
                      0
                      1. Si tu peux regarder j'ai ajouté un compte et j'ai un bug dans le code
                        http://www.cjoint.com/c/GBmrv3tfuIk
                        0
                        1. 1. Effectivement cela fonctionne j'ai du cliquer sur B1
                          tu ajoutes la ligne en gras dans le module de la feuille Saisie

                          If Intersect(Target, Columns(colibFS)) Is Nothing Then Target.Offset(1, 0).Select: Exit Sub
                          If Target.Row < lilibFS Then Target.Offset(1, 0).Select: Exit Sub
                          If Target.Interior.ColorIndex = coulLib Then Target.Offset(1, 0).Select: Exit Sub

                          2. Chose que je viens de voir si je supprime une ligne dans la feuille saisie,elle ne se supprime pas dans le compte concerné
                          Effectivement, ça n'est pas prévu, mais est ce que c'est une situation qui peut arriver (une fois qu'une ligne de saisie est validée et envoyée dans la feuille Compte)
                          1
                          1. Effectivement cela fonctionne j'ai du cliquer sur B1
                            Chose que je viens de voir si je supprime une ligne dans la feuille saisie,
                            elle ne se supprime pas dans le compte concerné
                            0
                            1. Il n'a pas disparu, mais comme tu lui as mis +1, il est remonté plus haut
                              N'aurais tu pas clic-cliqué en B1 (sur Libellé), ce n'est pas prévu ça ?
                              Sinon, il faudrait en dire un peu plus sur l'erreur
                              Tu ouvres le fichier, clic-clic en B2 et tu dis
                              0
                              1. Re
                                Avec le fichier que tu as mis en post 17 qui est disparu
                                0
                                1. Bonjour ccm81
                                  je viens de faire un essai j'ai un bug sur la ligne ci-dessous en gras

                                  End Select
                                  ' liste des données
                                  ReDim T(0 To UBound(Tco))
                                  Crdlt
                                  0
                                  1. J'ai un peu réfléchi à ma proposition du post #8
                                    "A passer par une macro, autant lui faire faire tout le boulot en feuille compte qui ne contiendrait plus aucune formule, sauf SOMME(...) "
                                    Une tentative dans ce sens
                                    http://www.cjoint.com/c/GBmmWk7VaTf

                                    Cdlmnt
                                    1
                                    1. Bonjour ccm81

                                      Superbe c'est ce qui peut me convenir,je test et en cas de soucis
                                      je réapparais.
                                      Merci encore une fois
                                      Bon WE
                                      Je passe en résolu
                                      Cordialement
                                      0
                                      1. Bon, n'ayant pas la structure, finalement j'ai gardé les formules
                                        http://www.cjoint.com/c/GBkr6H1coEf

                                        Cdlmnt
                                        1
                                        1. Une (au moins) formule avait sauté
                                          http://www.cjoint.com/c/GBkuo5BQmCf

                                          Cdlmnt
                                          0
                                      • 1
                                      • 2