Ajout d'une ligne lorsque la dernière ligne du tableau structuré est rempli

Bonjour les amis,

Quel code VBA pour ajouter une ligne automatiquement à mon tableau structuré dès lors que je complète la dernière ligne.

Ma feuille excel s'appelle "DEMANDES"

Mon tableau structuré s'appelle "Tableau3"

image

En conclusion, lorsque je saisie la première ligne de mon tableau, je souhaite qu'une ligne vierge s'ajoute en dessous automatiquement.

merci pour votre aide

Bonjour,

Quand vous dites "ligne complète" vous voulez vraiment que TOUTES les cellules de la ligne soient remplies, ou insérer une nouvelle ligne dès que vous commencez à entrer des valeurs dans la dernière ligne ?

Car si par hasard votre tableau accepte dans une colonne, des cellules vides, cela risque de bloquer la macro.

Pour l'instant je fais ce que vous avez dit : ligne complète ⇒ insertion.

Bonjour

Un fichier est TOUJOURS le bienvenu

Sub AjoutFinTableau()
  If [tableau3].Item(1, 1) <> "" Then n = [tableau3].Rows.Count + 1 Else n = 1
 If n>1 and [tableau3].Item(n-1, 1) <> "" Then [tableau3]. Rows(n).Insert
End Sub

A+ François

Bonjour,

Oui la ligne sera complétée à 100%. un grand merci. C'est parfait.

bonjour ManARn, salut fanfan38,

une autre possibilité

Sub AjouterLigne()
     Dim b
     With Range("tableau3").ListObject       'votre tableau structuré
          b = (.ListRows.Count = 0)          'aucune ligne pour le moment
          If Not b Then                      'il y a des lignes
               With .ListRows(.ListRows.Count)     'la dernière ligne
                    b = (WorksheetFunction.CountA(.Range) = .Range.Columns.Count)     'toutes les cellules sont rempli
               End With
          End If

          If b Then .ListRows.Add            'pour 1 des 2 raisons, ajouter une ligne
     End With
End Sub

Bonjour,

Je suis novice et j'aimerais comprendre comment déclencher cette macro automatiquement ?

Je viens d'essayer en remplissant une ligne complète de mon tableau et je n'ai pas de nouvelle ligne qui s'insère automatiquement.

Merci à vous.

Bonjour à tous,

Dans le code de la feuille contenant le tableau, ajoutez ceci

Private Sub Worksheet_Change(ByVal Target as Range) 
    If Intersect(Target, Range("Tableau3")) Then AjouterLigne ' ou AjoutFinTableau pour la proposition de fanfan
End Sub

Cela lance la macro quand vous écrivez dans le tableau.

re,

si vous êtes sur la dernière ligne et la dernière cellule (donc à droit) du tableau et vous utilisez le bouton "TAB", le tableau insère aussi une ligne sans VBA.

Maintenant une macro paramétrisée dans le module 1 (donc vous pouvez l'utiliser pour plusieurs tableaux) et la macro "Worksheet_Change ..." dans le module de la feuille.

15aerin.xlsb (15.93 Ko)

EDIT: salut Saboh12617

Je dois être vraiment fatigué pour ne pas voir ce qui cloche...

re,

la macro paramétrisée "ajouterLigne" dans un module normal n'était présent.

J'ai ajouté les "application.enableevents" pour minimaliser le lancement de la macro, mais si cela se passe encore trop de fois, on fait faire autre choses aussi.

Rechercher des sujets similaires à "ajout ligne lorsque derniere tableau structure rempli"