Microsoft 365 VBA selection d'un tableau à partir d'une cellule

  • Initiateur de la discussion Initiateur de la discussion rafi93
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

rafi93

XLDnaute Occasionnel
bonjour

très basique : je pointe sur une cellule à l'intérieur d'un tableau
quel est le code vb pour selectionner le tableau qui entoure cette cellule ?

merci...
 
merci mapomme !

j'ai pas fourni le fichier que tu n'as pas vu, car c'est juste très générique...

1679493285974.png

voila ce que j'obtiens quand je pointe sur une cellule d'un tableau quelconque
c'est bien ça qu'il faut écrire ?

j'ai tout essayé ActiveSheet.ActiveCell.CurrentRegion.Select et j'en passe
 
Re,

Un essai avec deux tableaux TCD, deux tableaux structurés et deux plages quelconques.
Sélectionner une cellule et cliquer sur le bouton Hop!

Pour les plages quelconques, la manière dont le "tableau" est rempli détermine la sélection (cf tableau vert => seules les cellules entourées en vert sélectionne toute la plage).

Si on sélectionne une cellule en dehors d'un TCD ou d'un tableau structuré le résultat est aléatoire.
=> essayez avec une cellule adjacente aux tableaux de la feuille et voyez...



Le code est dans module1:
Code:
Sub SélectionnerTableau()
Dim cel As Range, tcd, tcdsel As Range, x As Range
   On Error Resume Next
   Set cel = Range(Selection.Address)
   If cel Is Nothing Then Exit Sub
   Set cel = ActiveCell
   For Each tcd In ActiveSheet.PivotTables
      tcd.PivotSelect "", xlDataAndLabel, True
      If Not Intersect(Selection, cel) Is Nothing Then Exit Sub
   Next tcd
   Set x = cel.ListObject.Range
   If Not x Is Nothing Then x.Select: Exit Sub
   cel.CurrentRegion.Select
End Sub
 

Pièces jointes

Dernière édition:
Re,

ActiveSheet n'est pas une propriété de feuille de calcul mais de fenêtre (d'affichage) Excel.
ActiveSheet.ActiveCell n'existe donc pas dans le modèle objet d'Excel.

ActiveCell est une propriété de fenêtre Excel. D'ailleurs ActiveWindow.ActiveCell est correct.

Excel autorise une contraction d'écriture en ActiveCell pour ActiveWindow.ActiveCell.

Voir le fichier joint avec une seule fenêtre et deux fenêtres de cette feuille.

Quand on change la sélection dans une des deux fenêtres, la macro Test dans module1 affiche un message avec le titre de la fenêtre, l'adresse de la cellule active et le nom de la feuille contenant la cellule active.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour