Caler les colonnes d'un tableau en fonction de la valeur d'une cellule

Bonjour à tous,

Pour des raisons professionnelles, j'ai du me mettre sérieusement à l'utilisation d'Excel. J'ai appris pas mal de choses sur le tas, mais aussi grâce aux forums. Toutefois, il me reste de nombreuses lacunes, notamment en ce qui concerne les macros et le langage VBA.

Je suis chef d'équipe en milieu muséographique et je dois effectuer la sélection d'un groupe d'agents pour travailler sur un jour férié. Le tableau que j'ai crée, dont je vous joins un extrait "anonymisé" me permet de faire cette sélection en triant les agents par ordre de priorité, en fonction de plusieurs critères. Par souci de simplification, j'ai désactivé toutes ces fonctionnalités.

Voici mon problème: pour le confort d'utilisation de mes collègues, je souhaite qu'à l'ouverture de l'onglet "Sélection", les colonnes du tableau se calent sur le jour férié dont la date est indiqué en cellule D2.

J'imagine que cette possibilité n'est offerte que par l'intermédiaire d'une macro. J'ai tenté en vain de chercher la méthode sur d'autres publications, mais je dois avouer que je suis coincé.

Un grand merci d'avance à ceux qui pourront m'aider sur cette problématique.

Cordialement.

Bonjour,

Un test a placer dans le code de la Feuil6 Accueil :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect([I22], Target) Is Nothing Then
    With Worksheets("Sélection")
        Application.ScreenUpdating = False
        .Columns("F:AF").Hidden = False
        Set TROUVE = .Rows(1).Find(Format(.[D2], "dd/mm/yy"), [S1], xlValues, xlPart)
        .Columns("F:AF").Hidden = True
        .Columns(TROUVE.Column).Hidden = False
        Application.ScreenUpdating = True
        .Activate
    End With
End If
End Sub

Cdlt,

Bonjour Ergotamine,

Merci pour ta réponse rapide. La macro que tu me proposes fonctionne très bien en soi, mais ne produit pas tout à fait le résultat espéré:

- Lorsque sur l'onglet "Accueil" je sélectionne un jour férié à traiter, je suis automatiquement dirigé sur l'onglet "Sélection", ce qui n'est pas souhaitable.

- Une fois dans l'onglet "Sélection" les autres colonnes sont masquées alors que je souhaite les laisser accessibles. Il faut simplement que la première colonne visible du tableau corresponde au férié en question, quitte à naviguer après dans le reste du tableau. J'ai probablement mal formulé ma demande sur ce point et m'en excuse.

Y a-t-il des possibilités avec un code du style "Private Sub Whorksheet_Open" / "ActiveWindow.ScrollColumn" ? le vocabulaire hélas me manque encore pour traduire mes pensées en codes !

Cordialement.

Bonjour,

A vrai dire je me suis douté que ça ne correspondait pas au besoin mais j'ai fait exprès afin que vous compreniez que l'expression du besoin doit être la plus précise possible afin d'éviter toute erreur d'interprétation.

Ceci-dit toujours sur le même principe mais cette fois ci dans le code de la feuille Sélection :

Private Sub Worksheet_Activate()
Set TROUVE = Rows(1).Find(Format([D2], "dd/mm/yy"), [S1], xlValues, xlPart)
Cells(1, TROUVE.Column).Select
End Sub

Ainsi à chaque activation de la feuille, la cellule contenant la date présente en D2 sera sélectionnée.

Dans l'attente de votre retour. Si cela vous convient n'hésitez pas à passer en résolu ce sujet pour améliorer la visibilité du forum.

Cdlt,

Bonjour,

Pardon pour ma réponse tardive, j'ai eu un planning très chargé ces derniers jours.

Merci beaucoup pour cette nouvelle proposition Ergotamine, elle se rapproche beaucoup plus de ce que je souhaite. D'ailleurs, même ta première proposition m'a ouvert de nouvelles perspectives pour de prochains travaux. Serait-il possible, au lieu de sélectionner la colonne en question, de faire défiler les colonnes du tableau jusqu'à celle qui correspond au férié à traiter (toujours via la date en cellule D2), de telle manière à ce qu'elle s'affiche juste après la colonne E, c'est à dire après la zone figée ?

L'objectif est de faire en sorte que l'utilisateur de l'application, en accédant à la feuille "Sélection", ait directement le tableau calé sur la colonne qui correspond au férié à traiter.

Surtout n'hésite pas à me faire reformuler si je ne suis pas clair dans mes propos. Et bien entendu, je ne manquerai pas de signaler le sujet comme résolu une fois la solution trouvée.

Très cordialement.

Bonjour,

Ci-contre le code modifié :

Private Sub Worksheet_Activate()
Set TROUVE = Rows(1).Find(Format([D2], "dd/mm/yy"), [F1], xlValues, xlPart)
Debug.Print TROUVE.Column
ActiveWindow.ScrollColumn = TROUVE.Column
End Sub

Cdlt,

Bravo ! Merci beaucoup, c'est la perfection ! A une prochaine fois sur le forum.

Cordialement.

Rechercher des sujets similaires à "caler colonnes tableau fonction valeur"