Formulaire VBA - ajout ligne tableau

Bonjour,

J'ai conscience de la simplicité de ma requête mais je souhaite après chaque saisie dans un formulaire VBA, qu'une ligne vienne s'ajouter dans mon tableau or lorsque je remplis mon formulaire la première ligne de mon tableau est laissée vide et le remplissage commence à se faire à partir de la 2ème ligne du tableau (au lieu de la 1ère) et je ne comprends pas pourquoi... (voir fichier en pièce-jointe)

Si au passage vous savez comment mettre du texte en italique, en gras et en couleur dans le formulaire cela m'intéresserait beaucoup,

Merci par avance pour votre aide !

Bonsoir,

Cette instruction : nbl = Cells(Rows.Count, 1).End(xlUp).Row + 1
est utilisée afin de trouver la première cellule vide d'une colonne. A savoir qu'une cellule appartenant à un tableau structuré n'est pas considérée comme vide même si elle n'a pas de valeur.

Comme vous utilisez a bon escient un tableau structuré, il vous faut alors utiliser les instruction VBA de ces derniers.

Il y a plein de tuto là-dessus, et moi (pauvre de moi) il y a encore une ou deux notions que je ne maitrise pas...

@ bientôt

LouReeD

Et bien merci @ vous je commence à comprendre un peu !

Ci dessous un code modifié pour votre formulaire, il est commenté :

Private Sub CommandButton1_Click()
    ' on dimensionne une variable Tableau structuré
    Dim MonTab As ListObject
    ' on dimensionne une variable Ligne de tableau structuré
    Dim lRow As ListRow
    ' on attribue à la variable tableau le premier tableau de la feuille Formulaire
    Set MonTab = Sheets("Formulaire").ListObjects(1)
    ' avec ce tableau
    With MonTab
        ' on attribue à la variable ligne la ligne nouvelle ligne que l'on crée
        Set lRow = .ListRows.Add()
        ' avec cette ligne
        With lRow
            ' on lui attribue en colonne 1 la valeur de la combobox
            .Range.Cells(1).Value = Me.ComboBox1.Value
            ' on crée une boucle de 1 à 7 pour remplir les 7 autres colonnes avec les textbox adéquate
            For i = 1 To 7
                .Range.Cells(i + 1) = Controls("TextBox" & i).Value
            Next i
        ' on a fini de jouer avec la ligne
        End With
    ' on a fini de jouer avec le tableau
    End With
End Sub

@ bientôt

LouReeD

Merci beaucoup !

Merci pour vos remerciements ! mais je vous les retourne car cela me fait avancer !

@ bientôt

LouReeD

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