Bouton insertion de "x lignes"

Bonjour à tous !

J'aimerais savoir s'il est possible de faire un bouton pour insérer des lignes à la fin d'un tableau sur Excel tout en conservant les formules.

J'arrive à insérer des lignes mais sans choisir leur nombre et sans pouvoir conserver les formules ...

Ce que souhaite c'est que lorsque clique sur "Ajout des lignes" et que j'indique un nombre, celles-ci s'insere à la dernière ligne de mon tableau. Est-ce possible ?

Merci d'avance pour votre aide !

Bonjour,

trois indices dans votre question :

Tableau, recopie de formules et ajout de ligne à la fin....

Tout ceci me fait pensais aux tableaux structurés sous Excel.

Sélectionnez une cellule de la plage de votre tableau, dans le ruban, choisir "insertion", puis "tableau" (sur la gauche du ruban)

Ceci transforme votre plage de données en tableau structuré sous Excel, ce qui fait que toutes nouvelles données inscrites sur la première ligne sous le tableau sont automatiquement intégrées à ce dernier, avec mise en place des mise en formes, des formules etc... Il en est de même pour des données inscrites sur la première colonne à droite du tableau.

Du coup plus besoin d'insérer des lignes, votre code VBA n'a plus qu'à trouver la première ligne sous le tableau et inscrire les données.

@ bientôt

LouReeD

J'ai pensé à cette solution.

Mais la mise en forme du tableau ne me va pas car, en reprenant mon fichier il y a 3 tableaux sur la même ligne (Famille, 1-2-3, Choix). SI je créé un tableau pour famille, un pour 1-2-3, un pour choix, si j'ajoute une ligne à "Famille", ça n'ajoute pas de ligne aux autres tableaux... De plus j'ai également des tableaux en dessous... et avec les tableaux on insert par une nouvelle ligne mais on ajoute une ligne au tableau, du coup je suis limité par l'espace avec mon tableau du dessous

Bonjour,

il est vrai que l'on peut toujours faire plus compliqué. S'il faut ajouter autant de ligne à un tableau par rapport à un autre c'est qu'il y a une relation, alors pourquoi les dissocier ?

sinon voyez ce fichier trouvé sur ce site :

@ bientôt

LouReeD

La dissociation a plusieurs but :

  • La lisibilité (Bien que se problème peut être résolu par la mise en forme)
  • Le fait que je fais un total sous mon tableau. Ces lignes "Total" ne me permettent pas d'ajouter une ligne simplement en écrivant dans la cellule positionnée sous la dernière cellule de mon tableau (Voir dans mon exemple ci-dessous dans le tableau Famille 2)
  • Le 3ème point est le suivant : même si je m'affranchis du problème de la ligne "Total", j'ai plusieurs tableau l'un en dessous de l'autre (qui n'ont rien à voir entre eux). Avec un tableau structuré, je peux en effet écrire dans la dernière ligne et cela m'ajoute une ligne a mon tableau avec la même mise en forme et formules. Mais le problème est le suivant, ça ajoute une ligne mais ça n'en insere pas ... Par exemple j'ai un tableau de la ligne 1 à 20 et un autre de la ligne 23 à 43. Si je me met à la ligne 21 et que j'indique des données, mon tableau 1 va bien d'agrandir mais celui du dessous restera à la ligne 23 et ne se déplacera pas à la ligne 24...

J'espère que ces explications éclairciront mon problème.

En fouinant un peu j'ai trouvé quelques choses qui me convient.

Mon bouton fonctionne, la macro fait ce que je lui demande, mais j'ai un message d'erreur et je n'arrive pas à résoudre le problème.

Avez-vous une idée ??? Il faut regarder du côté de famille 2, "Bouton 3"

Je vous remercie

Le fichier que je vous ai transmis gère ces différents cas :

plusieurs tableaux sur la même feuille, les un en dessous des autres voir à cheval aux niveaux des colonnes, avec ou sans ligne de "totaux", avec ou sans validité de donnée...

Avez vous regardez ?

Après il y aurait juste une adaptation du code pour le retranscrire sur votre feuille.

Sinon il y a la possibilité de faire un tableau par feuille et une feuille Récap pour synthétiser les données.

@ bientôt

LouReeD

Bonjour,

Un exemple basique pour l'insertion de lignes dans un tableau.

Il est recommandé de mettre les tableaux sur des feuilles distinctes, ou du moins, pas les uns sous les autres.Mais tu verra à l'utilisation !?

Sélectionne une cellule dans un tableau, clique sur le bouton et saisis le nombre de lignes à insérer.

Cdlt.

Public Sub InsertRowsInTable()
Dim lo As ListObject
Dim ACell As Range
Dim strInput As String
Dim i As Long
Dim bTotals As Boolean, bOk As Boolean
    Application.ScreenUpdating = False
    Set ACell = ActiveCell
    If Not ACell.ListObject Is Nothing Then
        Set lo = ACell.ListObject
        bTotals = lo.ShowTotals: lo.ShowTotals = False
        Do While Not bOk
            strInput = InputBox(prompt:="Nombre de lignes ?", Title:="Insertion lignes " & lo.Name)
            If StrPtr(strInput) = 0 Then Exit Do
            If Val(strInput) > 0 Then bOk = True
        Loop
        If bOk Then
            For i = 1 To Val(strInput)
                lo.ListRows.Add
            Next
        End If
        lo.ShowTotals = bTotals
    End If
End Sub

@LouReed

Oui j'ai bien regardé. Ca pourrait fonctionner si j'étais seul à utiliser le fichier mais ce fichier risque d'être diffuser à pas mal de personnes, pas forcément des experts en informatique et je ne trouve pas cela très intuitif d'écrire sous "Total" pour ajouter une ligne au dessus Un bouton "nouvelle ligne" est certe moins propre mais ne nécessite pas d'explication pour utiliser le fichier

@Jean-Eric

Merci pour cet exemple qui va beaucoup m'aider.

Je n'ai plus qu'a adapter ça pour avoir un bouton pour chaque tableau

Merci à vous 2 !

Merci @ vous pour ce retour !

Jean-Eric ? Vous voulez passer du coté Anonymous ?

@ bientôt

LouReeD

Rechercher des sujets similaires à "bouton insertion lignes"