Ajouter une ligne dans un tableau peu importe le tableau

Bonjour!

Je bute sur un problème dont je vous fait par aujourd'hui. J'ai trois feuilles Excel dont chacune d'elle on plusieurs tableau identique pour le calcule de budget. Chacun des tableaux ce nomme : TO1, TO2 et ainsi de suite. Chacun des tableaux est accompagné d'une icone "+" pour ajouter des lignes au tableau où il est associé.

Le problème maintenant est que j'ai beaucoup de tableau de calcule sur chacune des feuilles et j'aimerais savoir si il était possible de faire un code dans un module qui serait universelle donc que je n'aurais qu'une seule macro à affecter au icone "+". Il faudrait qu'il détecte si la cellule sélectionné est dans un tableau TO1 ou TO2 et ainsi de suite et que si c'est vrai alors qu'il ajoute une ligne, si c'est faux qu'il ne fasse rien. Important à savoir aussi, il ne doit pas ajouter de ligne

Pouvez-vous m'aider et merci d'avance pour votre aide!

Bonjour,

Peu importe le tableau, un tableau n'a pas besoin de petit bouton pour s'agrandir : Yaka écrire en dessous !

Rajouter une ligne vide est sans intéret ?

A+

Bonjour,

Les tableaux sont l'un par-dessus l'autre et il y en aura plus ou moins 50 pas pages. Le but est que les tableaux ne soit de la dimension que je le désir, je ne veux pas de ligne vide. Les tableaux comportent plusieurs colonnes avec des formules à l'intérieur. Quand j'ajoute une ligne ça ce fait très bien et les formules suivent puisqu'elles sont dans un tableau. Ce que j'aimerais c'est un code universelle qui peu importe dans qu'elle tableau je me situe il ajout une ligne dans ce tableau dans le cas contraire il ne fait rien.

Exemple :

Si j'ai déjà 5 lignes dans le tableau et que je suis sur une cellule de la 3e ligne, il ajoute une ligne au-dessus ou en-dessous de cette ligne.

Bonjour,

Si j'ai déjà 5 lignes dans le tableau et que je suis sur une cellule de la 3e ligne, il ajoute une ligne au-dessus ou en-dessous de cette ligne.

OK pour le principe mais il faut un déclencheur, par exemple le changement de sélection sur une feuille.
Dans le module de la ou des feuilles concernées tu Modifie l'évènement Change comme ceci :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Tests.AddRow101 Target
End Sub

Ensuite dans un module nous insérons la fonction ci-dessous :

Public Function AddRow101(Optional ByVal Target As Range) As Long
    If Target Is Nothing Then Set Target = ActiveCell
    Dim Table As Excel.ListObject
    Set Table = ActiveCell.ListObject
    If Not Table Is Nothing Then
        With Table
            Dim IndexRow As Long
            IndexRow = .ListRows(Target.Row - .HeaderRowRange.Row).Index
            Dim newRow As Excel.ListRow
            Set newRow = .ListRows.Add(IIf(IndexRow > 1, IndexRow - 1, 1))
            With newRow
                .Range(.Parent.ListColumns("Questions").Index).Value = "Item1"
                '...
                '...
            End With
        End With
        AddRow101 = -1 
    End If
End Function

Elle teste si la cellule active appartient à un tableau. Si oui, elle ajoute une ligne.

Merci beaucoup Jean-Paul, ça fonctionne à la perfection je pourrai ajuster le reste!

Merci encore!

bonjour CedL, Jean-Paul,

un double-clic ou un right-clic comme déclencheur ?

Oui tu as raison et j'ai justement ajusté le code pour qu'il soit déclencher par un click sur une icone!

Rechercher des sujets similaires à "ajouter ligne tableau peu importe"