Ajout/Suppression lignes dans un tableau

Bonjour,

Voilà, le fichier ci-joint présente le patron d'un devis que je dois réaliser, dans ce devis, il y a plusieurs environnements qui sont gérés par l'action des checkbox.

En fonction de ces checkbox, les tableaux apparaissent, ils sont déjà écrit en dur, et les lignes sont cachées.

Par défaut, il y a deux lignes présente dans le tableau, le bouton qui ajoute des lignes, les ajoutent, mais pas dans le sens que je voudrais, comme si l'incrémentation ne se faisait pas.

De plus, quand j'ajoute des lignes, et qu'ensuite je désactive la checkbox liée au tableau, les lignes ajoutées ne se suppriment pas, vous me direz " normal ", mais justement, c'est là que je bloque.

Je dois aussi assurer la suppression de lignes supplémentaires, grâce à un bouton en bout de chaque nouvelle ligne, qui supprimerait donc la ligne, sur laquelle ce bouton se trouve.

Cordialement

25modelev1.xlsm (35.60 Ko)

Bonsoir

Par défaut, il y a deux lignes présente dans le tableau, le bouton qui ajoute des lignes, les ajoutent, mais pas dans le sens que je voudrais, comme si l'incrémentation ne se faisait pas.

De plus, quand j'ajoute des lignes, et qu'ensuite je désactive la checkbox liée au tableau, les lignes ajoutées ne se suppriment pas, vous me direz " normal ", mais justement, c'est là que je bloque.

Pas trop compris l'explication des lignes. Dans quel sens on ajoute ?

Les checkbox c'est un objet et en VBA cela pose des soucis trop souvent. Le mieux serait de cocher une case à un endroit de la feuille.

Je dois aussi assurer la suppression de lignes supplémentaires, grâce à un bouton en bout de chaque nouvelle ligne, qui supprimerait donc la ligne, sur laquelle ce bouton se trouve.

Suffirait de mettre un X dans la cellule en colonne A et cela supprimerait automatiquement la ligne. Bon cela ?

Cordialement

Bonjour,

Et bien par exemple, si tu ajoutes une ligne, tu écris en cellule B21 un caractère, et tu rajoutes une lignes, ca va pas s'incrémenter correctement.

Et pour l'ajout d'un caractère dans une colonne, j'aimerais faire un truc assez propre, ça fonctionnerait en effet, mais ça serait pas forcément très " propre "

Cordialement

Re

Bon je mets 1 caractère dans B21, je clique sur quel bouton (il y en a deux)

Ensuite cela doit faire quoi, on ajoute une ligne au dessus ou en dessous

Désolé mais il faut que je comprenne comment tu fonctionnes

Crdlt

Re

Il faudrait que ca ajoute une ligne en dessous ^^

re

Tu me dis pas via quel bouton comme demandé dans mon post

Puis pourquoi ne pas ajouter selon la cellule sélectionnée. Dans ce cas pas besoin de compléter une cellule comme B21 (dans ton exemple)

Re,

Il y a un bouton ajout de poste, qui est censé ajouter une ligne dans le pseudo tableau qui est réalisé.

Mais quand par exemple on écrit dans une cellule comme E21, et qu'on ajoute ensuite la ligne via le bouton " ajouter une ligne" de l'entête du tableau, elle ne se rajoute pas à la suite.

Re

Bon essaie simplement ce code

Sub test()
ActiveCell.Offset(1, 0).EntireRow.Insert
End Sub

Cela te rajoute une ligne en dessous de la cellule sélectionnée

Si ok, lors de ta réponse, cloture le fil en cliquant sur la case à cocher à coté du bouton EDITER

A te relire

D'accord ça fonctionne merci, mais maintenant, il faut que je puisse gérer l'inverse, c'est à dire avec l'ajout d'un bouton supprimer en bout de chaque ligne, pouvoir supprimer la ligne sur laquelle il est, mais sans passer par une écriture en dur. J'ai pas trouvé de topic sur le net qui référencent ma façon de faire..

Re

Fais une nouvelle macro avec cette ligne

ActiveCell.EntireRow.Delete

Pour supprimer, mets toi sur la ligne puis clique sur le bouton pour supprimer la ligne

c'est à dire avec l'ajout d'un bouton supprimer en bout de chaque ligne,

?? ne jamais faire cela. Les objets sur les feuilles c'est pas top du tout. Avec les deux codes proposés, tu n'as besoin que de deux boutons sur ta feuille. Un pour ajouter l'autre pour supprimer. Essaie de les mettre en dehors des lignes à compléter. On peut complexifier le code en interdisant l'ajout ou la suppression dans certaines lignes bien entendu

Cordialement

Salut,

Je commence à voir le bout,je voulais faire quelque chose comme ceci.

re

C'est trop complexe et comme je te le conseille, il faut éviter les objets surtout comme cela.

Moins d'objets tu auras plus ce sera performant et plus simple à réaliser.

In fine tu éviteras les plantages ou autre truc gênant dans la programmation

Exemple : agrandis ta ligne une fois le bouton créé... ou élargis ta colonne

Limite toi à deux boutons en dehors de la zone où tu complètes tes lignes. un bouton ajouter, un bouton supprimer

Crdlt

Re

Le soucis c'est que je dois réaliser quelque chose comme ceci, je ne peux pas faire autrement, faut que ce soit assez explicite pour les futurs utilisateurs.

Néanmoins je comprend que niveau performance on peut faire mieux en diminuant le nombre d'objets.

Cordialement, et merci pour tes conseils

Re

faut que ce soit assez explicite pour les futurs utilisateurs.

Il faudra de toute façon que tu les formes à l'utilisation.

Réfléchis bien afin que ton fichier ne devienne pas une "usine à gaz" et que tu doives changer le tout après coup

Si besoin n'hésite pas

Si ok, merci de clôturer le fil en cliquant sur le V vert à coté du bouton EDITER

Cordialement

Bonjour,

Problème résolu, je ferme

Rechercher des sujets similaires à "ajout suppression lignes tableau"