Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Microsoft 365VBA selection d'un tableau à partir d'une cellule
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 !
bonjour,
Ça dépend : activecell.currentregion ou activecell.listobject.range ou encore autre chose (pas bien vu l'exemple dans le fichier pas fourni...)
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
une question quand même pour comprendre :
pourquoi le code
ActiveCell.CurrentRegion.Select fonctionne
et pas
ActiveSheet.ActiveCell.CurrentRegion.Select ?
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.
- 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