Sélectionner une colonne entière d'une feuille

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

J'ai, dans une feuille, un tableau, comprenant plusieurs colonnes, nommé "Désir".
Je voudrais sélectionner toute la colonne immédiatement à gauche de ce tableau.
Si j'écris : [Désir].Columns(1).Offset(, -1) .Select
je sélectionne la plage de cellules immédiatement à gauche du tableau.
Comment faire pour sélectionner la colonne ENTIÈRE immédiatement à gauche du tableau, en prenant comme point de repère le nom de ce tableau ?

Merci pour toute aide.
 

Magic_Doctor

XLDnaute Barbatruc
Re : Sélectionner une colonne entière d'une feuille

Bonsoir pierrejean (il commence à se faire tard chez vous),

Merci pour ton aide.
J'en profite pour dire hola à job et glisser une dernière version améliorée avec un bouton du cru de job qui m'a bien fait progresser ces derniers temps.

À la fin de la macro, dommage que l'on ne puisse pas écrire un truc dans le style :
Union(Range(plage(1)) To Range(plage(nbcol))).EntireColumn.Hidden = compt
 

Pièces jointes

  • Voir_Cacher2.xlsm
    62.7 KB · Affichages: 29

job75

XLDnaute Barbatruc
Re : Sélectionner une colonne entière d'une feuille

Re Magic_Doctor,

Une autre écriture de ta macro, plage étant maintenant un Range :

Code:
Sub SelectCol()

Dim mesbellescolonnes As Variant, nbcol As Byte, i As Byte
Dim plage As Range
Dim colplage As Byte 'le Nº de la colonne sera toujours < 255

mesbellescolonnes = Array(-1, 2, 3) 'on n'a qu'à introduire la distance (en colonne(s)) qui sépare la 1ère colonne de la plage nommée de celle que l'on veut occulter-désocculter
                                    '(négatif à gauche / positif à droite)
nbcol = UBound(mesbellescolonnes) 'nombre de colonnes concernées

For i = 1 To nbcol
    colplage = [ListeItems3].Column + mesbellescolonnes(i)
    Set plage = Union(Columns(colplage), IIf(plage Is Nothing, Columns(colplage), plage))
Next

plage.EntireColumn.Hidden = compt

End Sub
A+
 

Magic_Doctor

XLDnaute Barbatruc
Re : Sélectionner une colonne entière d'une feuille

Buenas tardes job,

Et bien c'est super ; on n'a plus qu'à paramétrer la matrice et le tour est joué !
Vive la simplicité sans prises de tête !

Le
VB:
Set plage = Union(Columns(colplage), IIf(plage Is Nothing, Columns(colplage), plage))
demande un peu de réflexion, en tout cas pour un débutant, avec papier + crayon. Très instructif !
Voilà une macro qui peut être utile dans bien des situations.

Encore merci job et bonne soirée.
 

Discussions similaires

Réponses
5
Affichages
175

Membres actuellement en ligne

Statistiques des forums

Discussions
313 769
Messages
2 102 234
Membres
108 181
dernier inscrit
Chr1sD