Création Bouton insertion de colonne dans un tableau déjà éxistant

Bonjour à tous, jeune étudiant en alternance, je suis confronté avec mon entreprise à la création d'un outil Excel...

Le code VBA est nouveau pour moi, j'apprends sur le tarmac, mais ce dernier ne fait pas tout !
Voici mon problème :
J'ai crée un fichier Excel "type" qui est destiné à être complété (il a pour but d'être simple d'utilisation et rapide.)

Dans ce fichier se trouve un tableau (1x1) pré rempli avec un numéro en en-tête

capture

J'ai vu qu'il était possible de créer une macro et de l'associer à un bouton (contrôle de formulaire).
J'aimerais crée un bouton "ajouter une colonne" qui, quand on clique sur une cellule de la colonne voulu, ajoute une colonne à droite de la colonne E, qui me garde la syntaxe du tableau (style visuel du tableau), et qui m'itère le numéro d'en-tête.

Ce que je souhaiterais :

capture

J'ai réussi à écrir un morceau de code que voici:

Sub Bouton1_Clic()
    Columns(ActiveCell.Column + 1).Select
    Selection.Insert Shift:=xlToRight
End Sub

Pouvez-vous m'aider ?

Merci d'avance

Bonjour, l'insertion de colonne n'est pas un ajout de colonne.

Le plus simple utilisez la mise sous forme de tableau appartenant à excel : ongelt Accueil / Mettre sous forme de Tableau.

Une fois le style de mise en forme choisit pour un tableau excel écrire dans la première cellule vide d'un tableau revient pour lui à :

- Soit ajouter une ligne

-Soit ajouter une colonne.

On en déduit pour votre exemple qu'il suffit de trouver la dernière cellule non vide de la première ligne et écrire dans la suivante.

Sub Macro1()
'Ajout colonne sur un tableau mise en forme
dercol = Cells(1, Columns.Count).End(xlToLeft).Column
Cells(1, dercol + 1).Value = Cells(1, dercol).Value + 1
End Sub

Trop fort ca marche ! je vais décortiquer ca en détails pour mieux comprendre mais en tout cas merci Beaucoup !

Bonjour,

Une autre proposition.

Le tableau est nommé T_Data.

Cdlt.

Public Sub AddColumnInTable()
Dim n As Long, sHeader As String
    With Range("T_Data").ListObject
        n = .ListColumns.Count
        sHeader = .HeaderRowRange(n) + 1
        .ListColumns.Add
        .HeaderRowRange(n + 1) = sHeader
    End With
End Sub
Rechercher des sujets similaires à "creation bouton insertion colonne tableau deja existant"