XL 2016 Dimensionnement colonne

gibtoul2

XLDnaute Nouveau
Bonjour à tous

Je souhaite dimensionner les largueurs de colonnes suivant les critères d'une ligne

j'utilise le code suivant sans succès car quelque soit la valeur 1 ou 2 (If c.Value = "1" Then) le dimensionnement n'est pas respecter

Je vous remercie pour votre aide

a+
bon we

VB:
Sub PHASE1()
Dim c As Range, sCol As Range
Dim cRow As Integer, rTri As Range
RAZCOLONNEth
Set rTri = ActiveSheet.Range("I5:Q5")
For Each c In rTri
If c.Value = "1" Then
cRow = c.Row
Exit For
End If
Next c
Set sCol = ActiveSheet.Columns("I:Q")
For Each c In sCol.Rows(cRow).Cells
If c.Value = vbNullString Then c.ColumnWidth = 0
Next c
 
End Sub

Sub PHASE2()
Dim c As Range, sCol As Range
Dim cRow As Integer, rTri As Range
RAZCOLONNEth
Set rTri = ActiveSheet.Range("I5:Q5")
For Each c In rTri
If c.Value = "2" Then
cRow = c.Row
Exit For
End If
Next c
Set sCol = ActiveSheet.Columns("I:Q")
For Each c In sCol.Rows(cRow).Cells
If c.Value = vbNullString Then c.ColumnWidth = 0
Next c
 
End Sub

Sub RAZCOLONNEth()
'
   Columns("I:Q").Select
    Selection.ColumnWidth = 0.75
    
    Columns("C:C").ColumnWidth = 0.75
    Columns("D:D").ColumnWidth = 26.57
    Columns("E:E").ColumnWidth = 10.57
    Columns("F:F").ColumnWidth = 10.43
    Columns("G:G").ColumnWidth = 12
    ' Columns("H:H").ColumnWidth = 0.75
    Columns("I:I").ColumnWidth = 26.57
    Columns("J:J").ColumnWidth = 10.57
    Columns("K:K").ColumnWidth = 10.43
    Columns("L:L").ColumnWidth = 12
    ' Columns("M:M").ColumnWidth = 0.75
    Columns("N:N").ColumnWidth = 26.57
    Columns("O:O").ColumnWidth = 10.57
    Columns("P:P").ColumnWidth = 10.43
    Columns("Q:Q").ColumnWidth = 12
    Columns("R:R").ColumnWidth = 0.75
    Columns("S:S").ColumnWidth = 12
    Columns("T:T").ColumnWidth = 3.86
    Columns("U:U").ColumnWidth = 11.86
    Columns("V:V").ColumnWidth = 11.71
    Columns("W:W").ColumnWidth = 14.29
    Columns("X:X").ColumnWidth = 0.75
    Columns("Y:Y").ColumnWidth = 0
    Columns("Z:Z").ColumnWidth = 0.75
    Columns("AA:AA").ColumnWidth = 16.29
    Columns("AB:AB").ColumnWidth = 16.29
    Columns("AC:AC").ColumnWidth = 0.42
    Columns("AD:AD").ColumnWidth = 10.57
    Columns("AE:AE").ColumnWidth = 7.29
    Columns("AF:AF").ColumnWidth = 13.43
    Columns("AG:AG").ColumnWidth = 13.43
    Columns("AH:AH").ColumnWidth = 10.71
    Columns("AI:AI").ColumnWidth = 0.42

End Sub
 

Pièces jointes

  • dimension cellule.xlsm
    20.2 KB · Affichages: 15

gibtoul2

XLDnaute Nouveau
Bonjour

j'avoue que le code ne doit pas être propre.

Voila le besoin

Je souhaite faire un filtre de colonne de I a Q avec un largeur de colonne prédéterminé
Pour filtrer , j'ai sur la ligne 5 des valeurs 1 , 2 ou rien

si je sélectionne la macro phase 1 , ne doit apparaitre que les colonnes ou la ligne est égale à 1
si je sélectionne la macro phase 2 , ne doit apparaitre que les colonnes ou la ligne est égale à 2
si je sélectionne la macro RAZCOLONNEth , toute les les colonnes doivent apparaitre

A noter la valeur 1 ou 2 sur la ligne 5 servant a déterminer le filtre peut être une valeur calculée

J’espère été avoir plus clair

A bientôt
 

Pièces jointes

  • dimension cellule v1.xlsm
    19.8 KB · Affichages: 3

gibtoul2

XLDnaute Nouveau
Bonjour pierrejean

Je viens de testé maiscela ne fonctionne pas

lorsque je clique sur la macro phase 1 ne doit apparaitre que les colonnes contenant 1 sur la ligne 5
comme dan l'exemple ci-dessous
= a 1.JPG

idem pour le bouton 2 ne doit apparaitre que les colonnes ayant 2 sur la ligne 5

merci pour ton aide

a+
 

Discussions similaires

Réponses
3
Affichages
826

Statistiques des forums

Discussions
315 095
Messages
2 116 165
Membres
112 675
dernier inscrit
Tazra_IMOU