Ajustement colonnes

Bonjour à tous,

J'ai un classeur avec 2 onglets : Emp.Tps.Jeunesse_Bureau & Emp.Tps.Entretien qui servent à afficher des emplois du temps.

En fonction du nom choisi dans la liste déroulante en cellule B5, il affiche l'emploi du temps de la personne.

Est-ce que ça serait possible de faire un ajustement automatique de la taille des colonnes en fonction du texte et de masquer le colonnes dans lesquelles il n'y a pas d'informations ?

D'avance, merci, cordialement, Chti59xcel

Bonsoir,

je vous propose ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B5")) Is Nothing And Target.CountLarge = 1 Then
        Application.ScreenUpdating = False
        For i = 3 To 15 Step 3
            If Cells(13, i).Value = 0 Then
                Cells(13, i).Resize(, 3).EntireColumn.Hidden = True
            Else
                Cells(13, i).Resize(, 3).EntireColumn.Hidden = False
            End If
        Next i
        For i = 19 To 28 Step 3
            If Cells(13, i).Value = 0 Then
                Cells(13, i).Resize(, 3).EntireColumn.Hidden = True
            Else
                Cells(13, i).Resize(, 3).EntireColumn.Hidden = False
            End If
        Next i
    End If
End Sub

A mettre sur le code de la feuille, mais je vous fourni le fichier ainsi modifié :

@ bientôt

LouReeD

Bonjour LouReed,

Un grand merci pour cette macro super efficace, je viens de tester, c'est nickel. Du coup je l'ai intégré aussi dans la deuxième feuille d'emploi du temps et même efficacité, c'est super !

Est-ce qu'il serait possible de compléter cette macro par un autre ajustement des colonnes. Je m'explique : Quand on change la personne, il réajuste le contenu et fait disparaître les colonnes vides, ok. Mais pour les colonnes pleines, parfois d'une personne à une autre, la largeur de la colonne a besoin d'être ajusté au mieux. L'objectif pour moi, c'est de pouvoir imprimer les emplois du temps et d'avoir le meilleur pourcentage d'impression.

D'avance merci pour ton aide sur ce projet, bien cordialement, Chti59xcel

Bonjour,

Regardez du côté de .Autofit des colonnes.

@ bientôt

LouReeD

Bonjour à tous,

en plus de l'Autofit, s'il reste des petits ajustements, au lieu d'ajouter des lignes de code qui ne traiteront peut-être pas tous les cas futurs, tu peux paramétrer l'impression en diminuant les marges, et lui disant d'ajuster à la taille de la page.

image

eric

Re bonjour,

Ok, merci, je vais essayer ces solutions là. Par contre, la macro n'a pas bien fonctionné sur l'onglet suivant quand j'ai changé de personne : Emp.Tps.Entretien.

Il y a des colonnes vides qui sont restées apparentes ?

A bientôt, cordialement, Chti59xcel

Bonsoir,

vos feuilles n'ont pas la même structure ! Il vous faut adapter les numéros de colonnes de début de boucle et de fin de boucle !
For i = 3 To 15 Step 3 => ici le 3 correspond à la colonne C et le 15 à la colonne O ce qui est vrai pour la première partie du tableau de la feuille "jeunesse", et pour la feuille entretien il faut aller de la colonne C à la colonne L donc de 3 à 12 : For i = 3 To 12 Step 3

Mes codes sont "super" mais pas intelligent !

@ bientôt

LouReeD

Rechercher des sujets similaires à "ajustement colonnes"