OVH Cloud OVH Cloud

Bouton pour masquer

9 réponses
Avatar
tourtouleter
Bonjour
J'ai un tableau excel avec des colonnes actives de C à AS, le n° de lignes
actives va de 14 à 25 mais peut varier. Est'il possible avec un bouton de
masquer les colonnes vides sur la partie active.

Merci de partager notre savoir.

9 réponses

Avatar
Jacky
Bonsoir,

Ceci masque les colonnes si la colonne correspondante de la plage c14:as25
est vide.
'-------
Sub jj()
For Each c In Range("c14:as25").Columns
If Application.CountA(c) = 0 Then c.EntireColumn.Hidden = True
Next
End Sub
'---------
de 14 à 25 mais peut varier
Pas compris ceci...


Varier à partir de la ligne 14 ??
et par rajout de lignes ??
En fonction de quel critère ??
Salutations
JJ

"tourtouleter" a écrit dans le
message de news:
Bonjour
J'ai un tableau excel avec des colonnes actives de C à AS, le n° de lignes
actives va de 14 à 25 mais peut varier. Est'il possible avec un bouton de
masquer les colonnes vides sur la partie active.

Merci de partager notre savoir.



Avatar
michdenis
Bonjour tourtouleter,

Tu peux utiliser ceci : mais c'est toute la colonne qui sera masquée
pas seulement une partie ... ceci est impossible à faire !

'------------------------------
Sub test()
Dim Rg As Range, C As Range, X As Range

If TypeName(Selection) = "Range" Then
Set Rg = Selection
End If
On Error Resume Next
For Each C In Rg.Columns
Set X = C.SpecialCells(xlCellTypeBlanks)
If Err = 0 Then
X.EntireColumn.Hidden = True
Else
Err = 0
End If
Next
Set Rg = Nothing: Set C = Nothing: Set X = Nothing

End Sub
'------------------------------


Salutations!



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

Bonjour
J'ai un tableau excel avec des colonnes actives de C à AS, le n° de lignes
actives va de 14 à 25 mais peut varier. Est'il possible avec un bouton de
masquer les colonnes vides sur la partie active.

Merci de partager notre savoir.
Avatar
michdenis
Oublie le message précédent ... je suppose que le diner était trop copieux !

'--------------------------------
Sub test()

Dim Rg As Range, C As Range

If TypeName(Selection) = "Range" Then
Set Rg = Selection
End If
On Error Resume Next
For Each C In Rg.Columns
If Application.CountA(C) = 0 Then
C.EntireColumn.Hidden = True
End If
Next
Set Rg = Nothing: Set C = Nothing

End Sub
'--------------------------------


Salutations!



"michdenis" a écrit dans le message de news: %
Bonjour tourtouleter,

Tu peux utiliser ceci : mais c'est toute la colonne qui sera masquée
pas seulement une partie ... ceci est impossible à faire !

'------------------------------
Sub test()
Dim Rg As Range, C As Range, X As Range

If TypeName(Selection) = "Range" Then
Set Rg = Selection
End If
On Error Resume Next
For Each C In Rg.Columns
Set X = C.SpecialCells(xlCellTypeBlanks)
If Err = 0 Then
X.EntireColumn.Hidden = True
Else
Err = 0
End If
Next
Set Rg = Nothing: Set C = Nothing: Set X = Nothing

End Sub
'------------------------------


Salutations!



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

Bonjour
J'ai un tableau excel avec des colonnes actives de C à AS, le n° de lignes
actives va de 14 à 25 mais peut varier. Est'il possible avec un bouton de
masquer les colonnes vides sur la partie active.

Merci de partager notre savoir.
Avatar
Norvi
Bonsoir,
Avec une macro :

Sub yaplusdecolonnevide()
Dim i As Integer
For i = 45 To 1 Step -1
If Application.CountA(Range(Cells(14, i), Cells(25, i))) = 0 Then
Columns(i).Hidden = True
Next i
End Sub

Possiblité de changer le nombre de colonnes (représentée par les i)
à controler ainsi que le nombre de lignes.

Bonne soirée
Avatar
tourtouleter
J'insére des lignes au-dessous de la ligne 25 pour prolonger le tableau.
Au test rien ne se passe.


Bonsoir,

Ceci masque les colonnes si la colonne correspondante de la plage c14:as25
est vide.
'-------
Sub jj()
For Each c In Range("c14:as25").Columns
If Application.CountA(c) = 0 Then c.EntireColumn.Hidden = True
Next
End Sub
'---------
de 14 à 25 mais peut varier
Pas compris ceci...


Varier à partir de la ligne 14 ??
et par rajout de lignes ??
En fonction de quel critère ??
Salutations
JJ

"tourtouleter" a écrit dans le
message de news:
Bonjour
J'ai un tableau excel avec des colonnes actives de C à AS, le n° de lignes
actives va de 14 à 25 mais peut varier. Est'il possible avec un bouton de
masquer les colonnes vides sur la partie active.

Merci de partager notre savoir.








Avatar
tourtouleter
Je viens de tester est masquer uniquement la colonne préselestionnée vide ou
non vide.
A bientôt

Oublie le message précédent ... je suppose que le diner était trop copieux !

'--------------------------------
Sub test()

Dim Rg As Range, C As Range

If TypeName(Selection) = "Range" Then
Set Rg = Selection
End If
On Error Resume Next
For Each C In Rg.Columns
If Application.CountA(C) = 0 Then
C.EntireColumn.Hidden = True
End If
Next
Set Rg = Nothing: Set C = Nothing

End Sub
'--------------------------------


Salutations!



"michdenis" a écrit dans le message de news: %
Bonjour tourtouleter,

Tu peux utiliser ceci : mais c'est toute la colonne qui sera masquée
pas seulement une partie ... ceci est impossible à faire !

'------------------------------
Sub test()
Dim Rg As Range, C As Range, X As Range

If TypeName(Selection) = "Range" Then
Set Rg = Selection
End If
On Error Resume Next
For Each C In Rg.Columns
Set X = C.SpecialCells(xlCellTypeBlanks)
If Err = 0 Then
X.EntireColumn.Hidden = True
Else
Err = 0
End If
Next
Set Rg = Nothing: Set C = Nothing: Set X = Nothing

End Sub
'------------------------------


Salutations!



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

Bonjour
J'ai un tableau excel avec des colonnes actives de C à AS, le n° de lignes
actives va de 14 à 25 mais peut varier. Est'il possible avec un bouton de
masquer les colonnes vides sur la partie active.

Merci de partager notre savoir.






Avatar
tourtouleter
Bonsoir,
Je viens de test, j'ai le message Erreur de compilation pour "Next i"
A bientôt

Bonsoir,
Avec une macro :

Sub yaplusdecolonnevide()
Dim i As Integer
For i = 45 To 1 Step -1
If Application.CountA(Range(Cells(14, i), Cells(25, i))) = 0 Then
Columns(i).Hidden = True
Next i
End Sub

Possiblité de changer le nombre de colonnes (représentée par les i)
à controler ainsi que le nombre de lignes.

Bonne soirée




Avatar
Jacky
Re...
Ce code fonctionne sans problème chez moi....
Un exemple qui tient compte des rajouts en fonction de la colonne A (
Eventuellement à modifier si la colonne A n'est pas remplie)
http://cjoint.com/?efv77rYs6u
Salutations
JJ

"tourtouleter" a écrit dans le
message de news:
J'insére des lignes au-dessous de la ligne 25 pour prolonger le tableau.
Au test rien ne se passe.


Bonsoir,

Ceci masque les colonnes si la colonne correspondante de la plage
c14:as25
est vide.
'-------
Sub jj()
For Each c In Range("c14:as25").Columns
If Application.CountA(c) = 0 Then c.EntireColumn.Hidden = True
Next
End Sub
'---------
de 14 à 25 mais peut varier
Pas compris ceci...


Varier à partir de la ligne 14 ??
et par rajout de lignes ??
En fonction de quel critère ??
Salutations
JJ

"tourtouleter" a écrit dans le
message de news:
Bonjour
J'ai un tableau excel avec des colonnes actives de C à AS, le n° de
lignes
actives va de 14 à 25 mais peut varier. Est'il possible avec un bouton
de
masquer les colonnes vides sur la partie active.

Merci de partager notre savoir.










Avatar
tourtouleter
Je ne le faisais marché que sur 2 ou 3 bouches et sur des colonnes non vides.
Avec mes excuses
Merci bonsoir


Re...
Ce code fonctionne sans problème chez moi....
Un exemple qui tient compte des rajouts en fonction de la colonne A (
Eventuellement à modifier si la colonne A n'est pas remplie)
http://cjoint.com/?efv77rYs6u
Salutations
JJ

"tourtouleter" a écrit dans le
message de news:
J'insére des lignes au-dessous de la ligne 25 pour prolonger le tableau.
Au test rien ne se passe.


Bonsoir,

Ceci masque les colonnes si la colonne correspondante de la plage
c14:as25
est vide.
'-------
Sub jj()
For Each c In Range("c14:as25").Columns
If Application.CountA(c) = 0 Then c.EntireColumn.Hidden = True
Next
End Sub
'---------
de 14 à 25 mais peut varier
Pas compris ceci...


Varier à partir de la ligne 14 ??
et par rajout de lignes ??
En fonction de quel critère ??
Salutations
JJ

"tourtouleter" a écrit dans le
message de news:
Bonjour
J'ai un tableau excel avec des colonnes actives de C à AS, le n° de
lignes
actives va de 14 à 25 mais peut varier. Est'il possible avec un bouton
de
masquer les colonnes vides sur la partie active.

Merci de partager notre savoir.