Bonjour,
Je débute sur Excel et VBA. Je m'en sorts à peu près mais j'aimerai prendre de suite des bons réflexes sur la syntaxe.
J'essaie exclusivement de travailler sur des tableaux (créer via insertion\tableau).
Principalement en fonction de leurs en-têtes et non sur toute la feuille afin que mes bouts de codes restent valides même si j'ajoute des colonnes tant que leurs en-têtes restent inchangées, et même si la taille du tableau varie ou qu'il change de place sur la feuille.
* Voici un bout de code me permettant de récupérer le numéro de ligne du tableau où se trouve la cellule active (et non le n° de ligne de la feuille) en ignorant la ligne d'en-tête, uniquement si la cellule appartient à MonTableau, et quelque soit l'emplacement du tableau sur la feuille :
1 2 3 4 5 6 7 8 9
| Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not ActiveCell.ListObject Is Nothing Then
If ActiveCell.ListObject.Name = "MonTableau" Then
LigneDuTableau = 1 + ActiveCell.Row - Range("MonTableau").Cells(1).Row
End If
End If
End Sub |
D'une manière générale, y a t'il une fonction plus directe pour récupérer le numéro de ligne d'un tableau (et non celui de la feuille) de la cellule active ?
* Pour accéder aux infos situées en ligne x de MonTableau (situé en Feuille1), dans la colonne intitulée "Test" je procède comme cela :
MesInfos = Sheets("Feuille1").Range("MonTableau[Test]").Cells(x)
Existe t-il une syntaxe plus simple, qui n'oblige pas notamment à spécifier la feuille où se situe MonTableau (puisque les tableaux créer manuellement (insertion\tableau) ont un nom unique, je pensais qu'ils pouvaient être identifiables par leur nom sans avoir besoin de la feuille) ?
Merci d'avance !
Partager