TextBox dans un tableau Excel
Saltimbanque77
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Saltimbanque77 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Saltimbanque77 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai consulter pas mal de forum sans succès à mon sujet.
J'utilise un userform pour ajouter des enregistrements à ma liste, mais comment inclure chaque ligne en vba dans le tableau ?
Voici le bout de code qui fonctionne actuellement (j'ai volontairement exclu les autres champs que celui du Nom, la mécanique est la même) :
Private Sub Validation()
Dim L As Integer
L = Sheets("Opérateurs").Range("A1048576").End(xlUp).Row + 1 'Placer le nouvel enregistrement à la première ligne non vide
If UserForm1.TextBox1.Value = "" Then 'Champs Nom obligatoire
s = MsgBox("Le champ : " & Label1 & " est obligatoire", vbCritical, "Erreur de saisie")
UserForm1.TextBox1.SetFocus
Exit Sub
End If
Sheets("Opérateurs").Range("A" & L).Value = UCase(TextBox1.Text) 'Attribution des colones
End Sub
Ci-joint, une image du résultat actuel.
J
Merci pour vos réponses,
J'ai consulter pas mal de forum sans succès à mon sujet.
J'utilise un userform pour ajouter des enregistrements à ma liste, mais comment inclure chaque ligne en vba dans le tableau ?
Voici le bout de code qui fonctionne actuellement (j'ai volontairement exclu les autres champs que celui du Nom, la mécanique est la même) :
Private Sub Validation()
Dim L As Integer
L = Sheets("Opérateurs").Range("A1048576").End(xlUp).Row + 1 'Placer le nouvel enregistrement à la première ligne non vide
If UserForm1.TextBox1.Value = "" Then 'Champs Nom obligatoire
s = MsgBox("Le champ : " & Label1 & " est obligatoire", vbCritical, "Erreur de saisie")
UserForm1.TextBox1.SetFocus
Exit Sub
End If
Sheets("Opérateurs").Range("A" & L).Value = UCase(TextBox1.Text) 'Attribution des colones
End Sub
Ci-joint, une image du résultat actuel.
J

Merci pour vos réponses,
A voir également:
- TextBox dans un tableau Excel
- Trier un tableau excel - Guide
- Tableau word - Guide
- Imprimer un tableau excel - Guide
- Liste déroulante excel - Guide
- Tableau ascii - Guide
1 réponse
Bonjour,
Il faut utiliser les propriétés et méthodes associées à ton objet Tableau.
Si le nom de ton tableau est "tableau1" et se trouve dans la feuille Opérateurs, voici le code pour ajouter et remplir une ligne :
Pour obtenir le nombre de lignes du tableau
Il faut utiliser les propriétés et méthodes associées à ton objet Tableau.
Si le nom de ton tableau est "tableau1" et se trouve dans la feuille Opérateurs, voici le code pour ajouter et remplir une ligne :
With Sheets("Opérateurs").ListObjects("tableau1")
'ajout d'une ligne vierge à la fin du tableau
.ListRows.Add
'indice dans la feuille, de la ligne correspondant à la première cellule vide du champ "Nom"
i = .ListColumns("Nom").Range.Find("", SearchDirection:=xlNext).Row
'indice relatif dans l'objet tableau1, de la ligne correspondant à la première cellule vide du champ "Nom"
i = i - .HeaderRowRange.Row
'remplissage lignes
.ListColumns("Nom").DataBodyRange.Rows(i).Value = UCase(TextBox1.Text)
.ListColumns("Prénom").DataBodyRange.Rows(i).Value = TextBox2.Value
.ListColumns("Date de naissance").DataBodyRange.Rows(i).Value = TextBox3.Value
.ListColumns("Téléphone").DataBodyRange.Rows(i).Value = TextBox4.Value
.ListColumns("Courriel").DataBodyRange.Rows(i).Value = TextBox5.Value
End With
Pour obtenir le nombre de lignes du tableau
With Sheets("Opérateurs").ListObjects("tableau1")
'nombre de lignes du tableau
nb_lignes = .ListRows.Count
End With
Merci pour ta réponse.
Après essai, j’obtiens un blocage à cette ligne :
i = .ListColumns(inv_domaine).Range.Find("", SearchDirection:=xlNext).Row
(Erreur "9" l'indice n'appartient pas à la sélection)
N'étant pas suffisamment caler sur le sujet, je dois admettre que je n'ai pas saisie l'utilité du terme (inv_domaine).
Merci pour tes lumières,
Cordialement,
Erreur de transposition du code qui fonctionne dans une de mes applications que j'ai corrigée ultérieurement (voir rectification du code ci-dessus)
Ton correctif fonctionne parfaitement, un grand MERCI pour ton aide.
Bien cordialement.