IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

afficher données objet [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 68
    Par défaut afficher données objet
    Bonjour
    Je ne suis pas du tout spécialiste Excel: je bidouille
    Ma passion est plus...ailleurs: l'astronomie et plus précisément l'astro-photo ciel profond
    J'ai entrepris dans un but pédagogique de faire un classeur qui regroupe les constellation de l'hémisphère Nord classées par saisons
    pour ce faire j'ai placé un composant image et provoque l'affichage de la portion de ciel par simple clic sur son nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    fich = log.Cells(Target.Row, Target.Column).Value + ".jpg"
    If fich = ".jpg" Then Else Image1.Picture = LoadPicture(fich)
    End Sub


    cela fonctionne très bien
    mais je voudrais qu'en plus apparaisse la liste des principaux objets avec positions et miniatures
    j'ai copié les éléments sur une autre feuille nommée "details"



    c'est là que je bloque

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Une approche
    Feuille log:
    Nommer les 4 plages de données (non compris les titres): printemps, été, automne et hiver
    Feuille details:
    Ligne 1: titres
    Mettre en colonnes A, B, C à partir de la ligne 2 les détails (comme montré dans ta 2ème image)
    On va utiliser un filtre automatique sur la feuille details pour pouvoir récupérer les informations se rapportant à la constellation sélectionnée dans feuille log
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Private Sub Detail(ByVal MaConst As String, ByVal Doss As String)
    Dim LastLig As Integer
    Dim c As Range
     
    With Sheets("details")
        .AutoFilterMode = False
        LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
        .Range("A1:C" & LastLig).AutoFilter , field:=1, Criteria1:=MaConst
        If .Range("A1:A" & LastLig).SpecialCells(xlCellTypeVisible).Count > 1 Then
            For Each c In .Range("A2:A" & LastLig).SpecialCells(xlCellTypeVisible)
                MsgBox "Nom: " & c.Offset(0, 1) & vbTab & "Fichier: " & Doss & c.Offset(0, 2)
                'après filtrage de feuille détail, on a les infos de la constellation choisie
            Next c
        End If
        .AutoFilterMode = False
    End With
    End Sub
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Chemin As String, Constel As String
     
    If Target.Count = 1 Then
        If Not Intersect(Target, Union(Range("printemps"), Range("été"), Range("automne"), Range("hiver"))) Is Nothing Then
            If Target.Value <> "" Then
                Chemin = "C:\Users\user\Desktop\MonDossier\" 'adapter le chemin où sont stockées toutes les images (images globales et images détails)
                Constel = Target.Value
                Image1.Picture = LoadPicture(Chemin & Constel & ".jpg")
                Call Detail(Constel, Chemin)
            End If
        End If
    End If
    End Sub
    Reste une question, où prévois-tu pour récupérer les informations une fois les données de la constellation sélectionnée sont disponibles après filtrage?

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 68
    Par défaut
    Merci Mercatog
    je comprend ton raisonnement
    après beaucoup d'hésitations j'ai fait ce que tu m'as dit
    l'affichage des cartes fonctionne
    mais la fonction "Detail" ne provoque pas l'affichage du MsgBox
    bon pour ce soir, j'arrête
    pour ta dernière question, j'avais pensé à un petit tableau (peut être qu'un msgbox un peu sophistiqué peut aller) avec le nom et une miniature

    ça marche!
    c'était l'ajout d'extension qui buggait!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/11/2009, 00h39
  2. Réponses: 7
    Dernier message: 17/03/2005, 11h18
  3. Base de données Objet
    Par wanny dans le forum Décisions SGBD
    Réponses: 9
    Dernier message: 26/05/2004, 21h28
  4. Afficher deux objets superposés C++ Builder 6
    Par nicoistia dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/03/2004, 15h09
  5. base de données objet appelée ozone
    Par enti dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 01/03/2004, 08h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo