Si ligne inserée dans un tableau, alors cellule X = texte (code marche pas)

Bonjour,

Je voudrais qu'à chaque insertion de ligne dans le "Tableau1", cette ligne contienne en colonne C, le texte "A INITIER". Ensuite je voudrais que cette cellule puisse être modifiée par la suite. En C il y a une liste déroulante.

J'ai codé ceci (dans un worksheet_Change):

If ActiveSheet.ListObjects("Tableau1").Rows.Insert Then
Range("C" & Target.Row).Value = "A INITIER"
End If

Alors le code n'a pas d'erreur mais voilà comment il fonctionne, je rajoute ma ligne, rien ne se passe, par contre lorsque je la supprime, le code s'active sur la ligne du dessous, et je ne peux plus modifier la cellule --> la liste fonctionne mais le code bloque sur "A INITIER" (j'en conviens que cette partie n'a pas été abordée dans mon code).

Avez-vous une idée ?

Merci ! (si besoin d'un fichier car pas assez compréhensible n'hésitez pas).

Cordialement !

bonjour,

une proposition code à mettre dans le module de la feuille contenant le tableau (à tester)

Public nombredelignes As Long

Private Sub Worksheet_Change(ByVal Target As Range)
If nombredelignes + 1 = ActiveSheet.ListObjects("tableau1").ListRows.Count Then
nombredelignes = ActiveSheet.ListObjects("tableau1").ListRows.Count
Cells(Target.Row, "C") = "à initier"
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
nombredelignes = ActiveSheet.ListObjects("tableau1").ListRows.Count
End Sub

re-bonjour,

adaptation du code pour gérer l'insertion de plusieurs lignes

Public nombredelignes As Long

Private Sub Worksheet_Change(ByVal Target As Range)
    If nombredelignes < ActiveSheet.ListObjects("table1").ListRows.Count Then
        nombredelignes = ActiveSheet.ListObjects("table1").ListRows.Count
        For Each r In Target.Rows
            Cells(r.Row, "C") = "à initier"
        Next
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    nombredelignes = ActiveSheet.ListObjects("table1").ListRows.Count
End Sub

Hello h2s04,

Parfait ! Tu réponds exactement à mon besoin :) à une chose près, j'ai utilisé les deux codes, je ne vois pas la différence à vrai dire ! J'ai inséré plusieurs lignes, ça fonctionne nickel dans les deux cas (donc je ne comprends pas l'update si tu veux bien m'expliquer stp).

En revanche si j'insère deux lignes d'affilé sans rien toucher et que j'en supprime une, les deux sont supprimées, serait-il possible de ne supprimer que celle que je veux supprimer ? Après si ce n'est pas un résultat attendu, c'est peut-être la place de ce code dans mon code de base Worksheet_Change.

Merci !

Cordialement !

Ok pour compléter mon message avec plus de clarification:

Si j'insère deux lignes (n'importe où dans le Tableau), la macro fonctionne

Si j'écris dans la ligne 1, et que je veux supprimer la ligne 1, il n'y a que la ligne 1 qui sera suppr.

Par contre si je suppr la ligne 2 (sans rien écrire dedans), elle supprime les lignes 1 et 2 (même la ligne 1 remplie donc).

re-bonjour,

Parfait ! Tu réponds exactement à mon besoin :) à une chose près, j'ai utilisé les deux codes, je ne vois pas la différence à vrai dire ! J'ai inséré plusieurs lignes, ça fonctionne nickel dans les deux cas (donc je ne comprends pas l'update si tu veux bien m'expliquer stp).

il est possible d'insérer plusieurs lignes à la fois au milieu d'un tableau, indiquer le nombre de lignes à insérer en sélectionnant des lignes consécutives du tableau puis faire clic-droit puis insérer.

En revanche si j'insère deux lignes d'affilé sans rien toucher et que j'en supprime une, les deux sont supprimées, serait-il possible de ne supprimer que celle que je veux supprimer ? Après si ce n'est pas un résultat attendu, c'est peut-être la place de ce code dans mon code de base Worksheet_Change.

je ne suis pas parvenu à reproduire ce cas de figure avec les codes proposés.

Ok j'ai l'explication, en fait j'ai une macro de tri et la deuxième ligne en question ne se supprime pas mais se trie tout en bas (selon les critères de tri que j'ai défini).

Donc c'est bon :)

Merci beaucoup, je passe le post en résolu !

Rechercher des sujets similaires à "ligne inseree tableau texte code marche pas"