1 pièce(s) jointe(s)
Automatiser les résultats d'un TCD
Bonjour à tous,
J'espère que vous allez bien.
Je sollicite votre aide toujours dans le but de pouvoir progresser dans l'apprentissage d'excel concernant un besoin particulier.
Je souhaiterai automatiser le détails des données présent dans un TCD.
C'est à dire dans un onglet j'ai un certains nombre de données, dans lequel je réalise un tcd pour regrouper ces données. J'aimerai par la suite créer quelque chose de dynamique qui me permets d'afficher les détails du TCD.
Dans l'exemple que j'ai créé pour être plus clair, j'ai réalisé un TCD par ville pour regrouper certaines données météos. Donc je souhaiterai par la suite créer un onglet avec les détails de chaque ville. Mais comme il y a plusieurs villes, j'aimerai que tous les données soit regroupés dans un seul et même onglet, et qui m'afficherai les données en fonction de la ville sélectionné.
Pour cela j'ai pensé à différente solution, mais comme je suis très limité dans excel et surtout en VBA, je ne sais pas si mon besoin est réalisable.
Par exemple créer une liste déroulante qui pointerait sur une ville et pouvoir afficher dynamiquement le détails des données.
En fait à la différence d'un tcd, ce n'est pas les valeurs qui m'intéressent mais bien le contenu des valeurs, comme lorsque vous double-cliquer sur les valeurs d'un tcd qui vous affiche, le détail. C'est ça que je recherche à automatiser/dynamiser.
J'espère avoir pu être clair, parce que c'est aussi à ce niveau que j'ai du mal à être compris. Donc n'hésitez à me poser des questions pour plus d'informations.
Je vous remercie d'avance pour le temps consacré à la lecture du sujet, ainsi qu'a l'aide apporté par la suite.
1 pièce(s) jointe(s)
Fonction filtre insuffisante ?
La fonction "filtre" n'est-elle pas suffisante pour effectuer cela ?
Pièce jointe 205956
Double-clic sur une ville
Placer ce code dans la feuille "Données":
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim lastRow As Long, lastCol As Long
If Me.FilterMode = True Then '--- filtre en cours
ActiveSheet.ShowAllData
Else
lastRow = Range("A" & Rows.Count).End(xlUp).Row '--- n° dernière ligne
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column '--- n° dernière colonne
Range("A1").AutoFilter
ActiveSheet.Range(Cells(1, 1), Cells(lastRow, lastCol)).AutoFilter Field:=2, Criteria1:=Cells(Target.Row, 2).Value
End If
Range("B1").Select
End Sub |
Chaque double-clic sur une ligne filtre sur la ville sélectionnée.
Si la vue est déjà filtrée, le double-clic réaffiche toutes les données.
Bonne continuation.