Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème Selection Colonne

3 réponses
Avatar
Alex
Bonjour =E0 tous,

Je rencontre un probl=E8me de mise en forme de tableau, et m'en
explique :

Sur un tableau de X colonnes, je souhaiterais toujours conserver les 4
premi=E8res et les 4 derni=E8res colonnes de mon tableau quelque soit le
nombre de colonne (X), et masquer les colonnes se trouvant entre les 4
premi=E8res et les 4 derni=E8res colonnes de mon tableau.
Quelqu'un aurait il la solution, car j'ai tent=E9 en macro enregistr=E9 en
mode relatif ou absolu, mais cela ne fonctionne pas.
Merci par avance de votre aide.
Cordialement.
Alex

3 réponses

Avatar
Sam
Bonjour,
voici une proposition

Sub cachecol()
'
' cachecol Macro
' Macro enregistrée le 27/07/2010 par Michel
'
' Touche de raccourci du clavier: Ctrl+w
'
Nbcol = Range("A1").CurrentRegion.Columns.Count
For c = 5 To Nbcol - 4
Cells(1, c).EntireColumn.Hidden = True
Next c
End Sub

Cordialement
Michel dit "Sam"

"Alex" a écrit dans le message de news:

Bonjour à tous,

Je rencontre un problème de mise en forme de tableau, et m'en
explique :

Sur un tableau de X colonnes, je souhaiterais toujours conserver les 4
premières et les 4 dernières colonnes de mon tableau quelque soit le
nombre de colonne (X), et masquer les colonnes se trouvant entre les 4
premières et les 4 dernières colonnes de mon tableau.
Quelqu'un aurait il la solution, car j'ai tenté en macro enregistré en
mode relatif ou absolu, mais cela ne fonctionne pas.
Merci par avance de votre aide.
Cordialement.
Alex
Avatar
Alex
Super Merci, cela fonctionne super bien
Alex
Avatar
LSteph
Bonjour,

Cela suppose que le contenu de ta feuille soit ton tableau et pas
plein d'autres trucs
(il peut commencer quelquepart dedans pas forcément en a1)
pas de colonnes vides , nombre x de tes colonnes soit supérieur à 8
et bien évidemment qu'on utilise pas ces saletés de fusions.

Sub deb4masq4fin()
Dim i As Long, myd As Range, myf As Range

ActiveSheet.Columns.Hidden = False
For i = 1 To Cells.Count
If Not IsEmpty(Cells(i)) Then
Set myd = Columns(Cells(i).Column)
If Not IsEmpty(Cells(Cells(i).Row, 256).Value) Then
Set myf = Columns(Cells(Cells(i).Row, 256).Column)
Else
Set myf = Columns(Cells(Cells(i).Row, 256).End(xlToLeft).Column)
End If
Exit For
End If
Next

ActiveSheet.Columns.Hidden = True
Range(myd, myd.Offset(, 3)).Columns.Hidden = False

Range(myf.Offset(, -3), myf).Columns.Hidden = False
End Sub

'LSteph


On 27 juil, 12:46, Alex wrote:
Bonjour à tous,

Je rencontre un problème de mise en forme de tableau, et m'en
explique :

Sur un tableau de X colonnes, je souhaiterais toujours conserver les 4
premières et les 4 dernières colonnes de mon tableau quelque soit le
nombre de colonne (X), et masquer les colonnes se trouvant entre les 4
premières et les 4 dernières colonnes de mon tableau.
Quelqu'un aurait il la solution, car j'ai tenté en macro enregistré e n
mode relatif ou absolu, mais cela ne fonctionne pas.
Merci par avance de votre aide.
Cordialement.
Alex