lier deux feuilles

guillaumes

XLDnaute Nouveau
Bonjour,

J'ai un fichier avec des noms et des postes de personnes et un paquet de colonnes avec les formations suivies par ces personnes. Comme il y a beaucoup de formations cela rend le fichier très lourd. Je souhaiterai créer un certain nombre de feuilles dans ce fichier pour classer les formations en différentes catégories. Mon problème est que je souhaiterai garder la même liste de personnes sur chaque feuille afin de faciliter les modifications.

Je cherche donc à mettre à jour automatiquement les premières colonnes de chaque feuilles (nom, poste, etc) lorsque je change celles de la feuille référence.

Existe-t-il un moyen de faire ça ?

Je vous ai mis un exemple de ce que je souhaite faire: la feuille 1 étant mon état actuel. Les feuilles "bruit et amiante" étant le nouveau fichier dont je souhaite pouvoir modifier automatiquement les colonnes "nom et poste" entre les feuilles.

J'espère que j'ai été clair ! Sinon n'hésitez pas à demander !

En vous remerciant d'avance de l'aide que vous pourrez m'apporter !

Guillaume.
 

Pièces jointes

  • Classeur1.xls
    13.5 KB · Affichages: 66
  • Classeur1.xls
    13.5 KB · Affichages: 77
  • Classeur1.xls
    13.5 KB · Affichages: 76

mth

XLDnaute Barbatruc
Re : lier deux feuilles

Bonjour guillaumes,

J'ai l'impression que ton idée va considérablement compliquer le fichier (et donc le travail)

Je ne sais si cela te semble possible, mais ne préfèrerais-tu pas renseigner un seul onglet servant de "Base de données" ? Tu peux ensuite facilement filtrer par formation ou par personne ou autre comme dans le fichier joint.

Bonne journée,

mth
 

Pièces jointes

  • Classeur1(1).xls
    16 KB · Affichages: 78
  • Classeur1(1).xls
    16 KB · Affichages: 67
  • Classeur1(1).xls
    16 KB · Affichages: 70

guillaumes

XLDnaute Nouveau
Re : lier deux feuilles

Bonjour,

il est vrai que mon idée de base risquait d'être assez lourde...

Ta proposition ne convient pas vraiment car dans mon fichier j'ai en fait une colonne par formation et sur la ligne correspondant à chaque nom il y a des informations pour dire si la formation a été suivie ou non.

Si je reformule ce que je veux (en oubliant mon idée de départ):

je voudrais faire apparaitre et disparaitre certaines colonnes pour ne garder que la catégorie de formation sur laquelle je travaille. L'idéal serait d'avoir un outils comme le filtre automatique mais sur des colonnes et non des lignes...

Merci, Guillaume.
 

mth

XLDnaute Barbatruc
Re : lier deux feuilles

re :)

Tu auras sans doute de meilleures propositions, mais voici un petit essai ci-joint avec

> 1 liste de validation en cellule A2 te permettant de choisir ta formation
Pour la voir, tu vas dans le menu "Validations de données", puis dans la fenêtre qui s'ouvre l'onglet "Options", là tu vois "autoriser: Liste" et la source: =$C$4:$F$4

> Une macro évènementielle attachée à cette cellule pour afficher la colonne correspondante et masquer les autres:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2")) Is Nothing And Target.Count = 1 Then
    For Each c In Range("C4:F4")
        If c.Value = Target.Value Then
            c.EntireColumn.Hidden = False
        Else
            c.EntireColumn.Hidden = True
        End If
    Next c
End If
End Sub
Pour l'afficher, sélection du nom de l'onglet, clic droit puis choisir "Visualiser le code"

> Une macro attachée au bouton "Afficher tout" pour afficher toutes tes colonnes
Code:
Sub AffichTout()
  Sheets("Feuil1").Cells.EntireColumn.Hidden = False
End Sub
placée dans un module standard

En espérant que cela pourra t'aider ...

mth
 

Pièces jointes

  • guillaumes.xls
    35.5 KB · Affichages: 62

guillaumes

XLDnaute Nouveau
Re : lier deux feuilles

Ok, ta solution marche ! J'ai juste quelques petits problèmes liés au fait que mon fichier est un peu plus compliqué que ce que je ne l'ai laissé paraitre:

J'ai un colonne par type de formation qui est ensuite divisée en plusieurs colonnes comportant chacune des infos. Par exemple dans mon fichier j'ai fais une colonne bruit et amiante, c'est ces deux colonnes principales que je cherche à afficher/cacher...
J'ai essayé de modifier la liste dans validation de données et la "range" dans le code mais ça ne marche pas bien car il affiche quand même les colonnes une par une et non comme un groupe de colonnes. J'ai donc essayé de grouper les colonnes mais il ne le reconnait pas... ou alors peut-être qu'il faut légèrement modifier le code...

J'ai aussi des mises en forme conditionnelles qui disparaissent lorsque j'applique le filtre...mais ça ne fais pas ça dans le fichier exemple...enfin c'est un détail...

Merci de ton aide !
 

Pièces jointes

  • guillaumes-1.xls
    35 KB · Affichages: 57

mth

XLDnaute Barbatruc
Re : lier deux feuilles

re :)

Un autre essai, en considérant que les colonnes sont à masquer 2 par 2 ...

Tu trouveras dans ton fichier en PJ un onglet nommé "Tables" avec la liste des formations, la liste de validation de la cellule A2 se source sur cette plage nommée "ListFormations".
Cette zone est dynamique au cas où pour tenir compte des ajouts (si la liste est fixe tu peux aussi définir la plage en la sélectionnant dans l'onglet sans avoir à utiliser la formule DECALER())

J'ai tenté ce petit aménagement (qui ne conviendra pas si toutes les colonnes ne fonctionnent pas par paire):

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A2")) Is Nothing And Target.Count = 1 Then
    For Each c In Range("C4:P4")
        If c.Value = Target.Value Or c.Offset(0, -1) = Target.Value Then
            c.EntireColumn.Hidden = False
            c.Offset(0, 1).EntireColumn.Hidden = False
        Else
            c.EntireColumn.Hidden = True
            c.Offset(0, 1).EntireColumn.Hidden = True
        End If
    Next c
End If
Application.ScreenUpdating = True
End Sub


Je te laisse voir si cela peut t'aider,

Bien à toi,

mth
 

Pièces jointes

  • guillaumes-1(1).xls
    39.5 KB · Affichages: 54

guillaumes

XLDnaute Nouveau
Re : lier deux feuilles

ok, il y a du mieux puisque déjà je n'ai pas de problème au niveau de l'affichage conditionnel et que le calcul est beaucoup plus rapide !

Effectivement ta solution ne marche que s'il n'y a que deux "sous colonnes". Dans mon fichier j'ai entre deux et et une vingtaine de sous colonnes en fonction des formations ! est-ce que tu vois un moyen d'adapter le code pour que ça marche correctement ?

Merci !

Guillaume.
 

mth

XLDnaute Barbatruc
Re : lier deux feuilles

re :)

Dans la série bricolage :)rolleyes:) une autre idée qui vaut ce qu'elle vaut, consistant à mettre les bons libellés dans chaque cellule de la ligne 3, et bien sûr masquer cette ligne qui n'est pas très esthétique.
Ensuite, la macro fait référence aux valeurs de cette ligne masquée pour afficher ou pas les colonnes choisies.

Ce n'est pas du grand art, mais je ne vois pas comment faire simple autrement ...

Je te laisse voir ton fichier en PJ,

@ +

mth
 

Pièces jointes

  • guillaumes-1(1)(1).xls
    40.5 KB · Affichages: 64

Discussions similaires

Réponses
45
Affichages
1 K

Statistiques des forums

Discussions
312 231
Messages
2 086 438
Membres
103 208
dernier inscrit
Natsu09