Dim Tb As ListObject '(variable globale)
Dim Lig As ListRow
Dim I As Long
Set Tb = Feuil1.ListObjects("Tba")
Set Lig = Tb.ListRows.Add: I = Lig.Index
Tb.ListColumns("NoDossier").DataBodyRange(I) = 1
franchement des fois il faut te suivre à toi
tu veux
mettre la valeur de l’entête dans la nouvelle ligne en cell(1)
ou tu veux changer la valeur de l’entête
ou tu veux determiner la cell(x) par l'entête
exprimez vous correctement des fois c'est difficile de vous suivre
re
bon si c'est pour déterminer la colonne
je fait comme ça
je met 245 dans la nouvelle ligne en colonne "No_Dossier"
VB:
Sub test()
Dim tb As ListObject '(variable globale)
Set tb = ThisWorkbook.Sheets("Feuil1").ListObjects("TbA")
tb.ListRows.Add
With ThisWorkbook.Sheets("Feuil1").Range("tba[No_Dossier]"): .Cells(.Rows.Count) = 245: End With
End Sub
re
bon si c'est pour déterminer la colonne
je fait comme ça
je met 245 dans la nouvelle ligne en colonne "No_Dossier"
VB:
Sub test()
Dim tb As ListObject '(variable globale)
Set tb = ThisWorkbook.Sheets("Feuil1").ListObjects("TbA")
tb.ListRows.Add
With ThisWorkbook.Sheets("Feuil1").Range("tba[No_Dossier]"): .Cells(.Rows.Count) = 245: End With
End Sub
Désolé, j'ai pas mal de choses à regler, du coup je m'exprime mal.
Je n'ai encore testé ton code.
D'habitude je fais
Dim Lig As ListRow
Set Lig = Tb.ListRows.Add
Lig.Range.Cells(1).Value = TextBox1
Mais j'ai permuté des colonnes et là ça ne va plus.
Les données ne sont plus dans la bonne colonne.
Je sais qu'on peut utilisé le nom de la colonne (ou Entête pour moi c'est la même chose) mais je n'arrive pas à trouver la syntaxe correcte.
Dim Tb As ListObject '(variable globale)
Dim Lig As ListRow
Dim I As Long
Set Tb = Feuil1.ListObjects("Tba")
Set Lig = Tb.ListRows.Add: I = Lig.Index
Tb.ListColumns("NoDossier").DataBodyRange(I) = 1
Désolé, j'ai pas mal de choses à regler, du coup je m'exprime mal.
Je n'ai encore testé ton code.
D'habitude je fais
Dim Lig As ListRow
Set Lig = Tb.ListRows.Add
Lig.Range.Cells(1).Value = TextBox1
Mais j'ai permuté des colonnes et là ça ne va plus.
Les données ne sont plus dans la bonne colonne.
Je sais qu'on peut utilisé le nom de la colonne (ou Entête pour moi c'est la même chose) mais je n'arrive pas à trouver la syntaxe correcte.
Oui, mais là dans ton code au final
Set tb = ThisWorkbook.Sheets("Feuil1").ListObjects("TbA") ne sert que pour ajouter une ligne au tableau
plus que bas tu repars avec
With ThisWorkbook.Sheets("Feuil1").Range("tba[No_Dossier]")
Oui, mais là dans ton code au final
Set tb = ThisWorkbook.Sheets("Feuil1").ListObjects("TbA") ne sert que pour ajouter une ligne au tableau
plus que bas tu repars avec
With ThisWorkbook.Sheets("Feuil1").Range("tba[No_Dossier]")
Dim Tb As ListObject '(variable globale)
Dim Lig As ListRow
Dim I As Long
Set Tb = Feuil1.ListObjects("Tba")
Set Lig = Tb.ListRows.Add: I = Lig.Index
Tb.ListColumns("NoDossier").DataBodyRange(I) = 1
re
je pige pas ta réponse #7
de plus si tb ne sert a rien d'autre je vois pas pourquoi le variabiliser
de plus si tu t'amuse a permuter les colonnes ça veux dire que les autres colonnes aussi ou au moins une autre
bref bien mal pensé tout ça à mon avis
j'attends la suite
Re-,
Hello Patrick
Tu as sûrement dû lire ce tuto de Thev?
Les TS utilisent un codage propre à leur structure, et le mieux, c'est quand même de l'utiliser, non?
re
Bonjour @Cousinhub
non je ne l'ai pa lu celui là perso je me réfère à celui de pierre fauconnier sur DVPet d'un autre membre pour la manipulation par VBA
mais mon questionnement ne vient pas de là
perso
entre ça
VB:
Set Lig = Tb.ListRows.Add: I = Lig.Index
Tb.ListColumns("NoDossier").DataBodyRange(I) = 1
et
ça par exemple
set lig=tb.ListRows.Add:i=lig.index
ThisWorkbook.Sheets("Feuil1").Range("tba[No_Dossier]"): .Cells(i) = 245
perso je me suis rendu compte que les abréviations quand on travaillait sur plusieurs classeur donnaient une erreur si classeur actif n'était pas le bon pourtant je suis le premier adepte de l'evaluate abrégée "[...]"
et pour info chez moi par exemple
ThisWorkbook.Feuil1.Range("tba"))......
plante
autrement le membre attendu de thisworkbook(la feuille) sur 2013 ne peut être exprimé par le codename
juste en passant tutoriel pour tutoriel
thev aurais pu ajouter ceci aussi '// ajout d'une ligne a un endroit précis exemple en ligne 3
'// la ligne qui avait l'index 3 devient la 4 etc....
Set ligne = TS.ListRows.Add 3: i = ligne.Index