VBA - Ajout d'une ligne dans un tableau après remplissage d'un UF

Bonjour à tous !

Je me permets de vous solliciter suite à un problème dans mon code VBA et/ou dans mon tableau dont je ne trouve pas la source, et je commence à m'arracher les cheveux...

Vous trouverez ci-joint le fichier Excel en question. Sur chaque feuille Excel un tableau unique existe, et pour ajouter une ligne à ce tableau j'utilise un UF unique qui rassemblera toutes les infos pour le renseigner automatiquement.

Or lorsque je clique sur "Ajouter", je réussis à ajouter une ligne à mon tableau mais après avoir ajouté la deuxième ligne je ne peux plus en ajouter. C'est à dire que si je veux en ajouter une 3ème, cela met à jour le contenu de la 2ème ligne. Je souhaite évidemment que les lignes s'ajoutent à la suite des autres mais j'ai l'impression que le tableau a une dimension figée...

Pour info, je nomme mon tableau dans le champ entouré en rouge, j'ai essayé en remplaçant le Tableau61, cela ne change rien :

image

Merci beaucoup d'avance pour le temps que vous allez y consacrer.

A bientôt,

Patafoin :)

Bonjour,

En créant un tableau structuré, il porte déjà un nom ... j'aime bien utiliser ce nom > il se nommait "Tableau61" que j'ai renommé en "TableauARKEOS" ...

Un tableau structuré, il faut y ajouter des lignes ... il ne faut pas simplement écrire à la suite, le tableau ne s'allongera pas de lui-même.

Le code serait sujet à une autre méthode d'écriture dans tableau ... mais je manque d'expérience pour du code 3 ...

Regarde cela si ça te convient ...

ric

Bonjour,

Ne serait-ce pas ça qui vous intéresse :

Dim LignesRemplies%

LignesRemplies = Worksheetfunction.CountA(Range("Tableau61").columns(?)) 'où "?" est un numéro de colonne avec un champ obligatoire
r = LignesRemplies + 1

If  LignesRemplies = Range("Tableau61").rows.count Then 
    ActiveWorkbook.Worksheets("ARKEOS").ListObjects("Tableau61").ListRows.Add 'ajout ligne si toutes les lignes sont alimentées 
end if

'ALIMENTATION DE LA LIGNE r

Par ailleurs, si vous voulez renommer votre tableau, faites-le dans le champ "Nom du tableau" juste au-dessus du champ entouré en rouge.

Le tableau changera de nom et le nom utilisé sera bien associé à un tableau, ce qui est préférable à une simple plage nommée se référant à votre tableau.

Bonjour,

Il y a plusieurs façons pour renommer un tableau ... moi, je passe par le menu "Formules" > "Gestionnaire des noms" ...

ric

Bonjour 3GB et ric,

Merci beaucoup à vous deux, vous avez solutionné mon problème !

Après avoir correctement nommé le tableau, vos 2 codes fonctionnent.

Merci et à bientôt :)

Rechercher des sujets similaires à "vba ajout ligne tableau remplissage"