IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Accès à la dernière ligne remplie d'un tableau structuré (et dernière cellule)


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 34
    Par défaut Accès à la dernière ligne remplie d'un tableau structuré (et dernière cellule)
    Bonjour,
    Il y a environ 3 ans, j'ai découvert les tableaux structurés grâce au tutoriel de Mr Fauconnier.
    Je ne suis pas un expert mais je me débrouille.
    Peu de temps après cela, et mon tableau possédant des milliers de lignes, je cherchais un moyen simple pour accéder à la dernière ligne de mon tableau structuré (mis à part la combinaison des touches CTRL+End).
    Je pense que c'est aussi Mr Fauconnier qui m'a répondu avec cette simple VBA que j'ai "lié" à un bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Aller_Dernière_Ligne()
    '
    ' Aller_Dernière_Ligne Macro
    '
    Rows("3:3").Select
    ActiveWindow.FreezePanes = True
    'selects the next empty row
    'ignores blanks inbetween the data set
     
    Range("l" & Rows.Count).End(xlUp).Select
     
    End Sub
    Après différents changements de mon tableau durant ces trois dernière années, lorsque j'utilise cette fonction (via mon bouton) pour aller à la dernière ligne, cela fonctionne toujours très bien.
    Cependant, bien que la dernière ligne est bien accédée, j'aimerais savoir s'il est aussi possible d'accéder à la dernière cellule de cette dernière ligne. Et dans mon cas cette cellule se trouve dans la colonne Q (17e colonne).
    Je suis nul en VBA et j'ai essayé de remplacer Rows("3:3").Select du code avec des nombres différents mais rien n'y fait.
    J'en appel donc à votre "générosité" pour m'aider.

    J'ai oublié de mentionner que je travaille avec Excel de la suite MS Office 2021 et les autres utilisateurs de ce fichier sont sur Excel 2019 (si c'est important!).

    Merci d'avance pour votre réponse.

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    975
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 975
    Par défaut
    Bonjour, teste ceci, change les noms de feuille et tableau si nécessaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Sub PositionnerDerniereCellule()
        Dim ws As Worksheet
        Dim lo As ListObject
        Dim derniereLigne As ListRow
        Dim derniereColonne As ListColumn
     
        ' Définir la feuille de calcul contenant le tableau
        Set ws = ThisWorkbook.Sheets("Feuil1")
     
        ' Définir le ListObject (tableau structuré)
        Set lo = ws.ListObjects("Tableau1")
     
        ' Définir la dernière ligne du ListObject
        Set derniereLigne = lo.ListRows(lo.ListRows.Count)
     
        ' Définir la dernière colonne du ListObject
        Set derniereColonne = lo.ListColumns(lo.ListColumns.Count)
     
        ' Sélectionner la dernière cellule
        lo.DataBodyRange.Cells(derniereLigne.Index, derniereColonne.Index).Select
    End Sub

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 306
    Par défaut
    Bonjour,
    Un essai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub dern_cel_TS()
    Dim TS As ListObject
    Set TS = Range("Tableau1").ListObject 'nom du tableau à adapter
    With TS
        .DataBodyRange(.ListRows.Count, .ListColumns.Count).Select
    End With
    End Sub
    Edit : Oupss, pas vu la réponse précédente, désolé Franc

  4. #4
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    975
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 975
    Par défaut
    Citation Envoyé par mapeh Voir le message
    Bonjour,
    Un essai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub dern_cel_TS()
    Dim TS As ListObject
    Set TS = Range("Tableau1").ListObject 'nom du tableau à adapter
    With TS
        .DataBodyRange(.ListRows.Count, .ListColumns.Count).Select
    End With
    End Sub
    Edit : Oupss, pas vu la réponse précédente, désolé Franc
    Pas de souci, tout le monde peut donner sa version

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 34
    Par défaut
    Merci beaucoup à vous deux pour vos réponses.

    J'ai essayé vos deux codes et ils fonctionnent bien tous les deux.

    Encore bien des MERCIS.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rretrouver l'index d'une ligne filtrée dans un tableau structuré
    Par gstn_lgff dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/10/2022, 15h32
  2. [XL-365] Surlignement en VBA d'une ligne remplie dans un tableau
    Par EAU24 dans le forum Excel
    Réponses: 2
    Dernier message: 10/12/2021, 17h29
  3. [XL-365] prise en compte d'une ligne appartenant à un tableau structuré
    Par pokypok dans le forum Excel
    Réponses: 12
    Dernier message: 27/02/2021, 14h29
  4. JSP- Servlet Problème d'accès à une ligne d'un tableau
    Par Eolyn dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 15/02/2012, 15h59
  5. [HTML] Se placer à une ligne précise dans un tableau
    Par seb55555 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/10/2004, 15h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo