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 :

Ouvrir après sélection dans une listview [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut Ouvrir après sélection dans une listview
    bonjour a vous tous
    dans le fichier que Sylkyroad a mis dans ce tutoriel
    comment peut'on par le double clic ouvrir la feuille sélectionnée dans excel
    il le fait par ce code
    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
    'Ouvre le fichier par un double clic sur la ligne
    Private Sub ListView1_DblClick()
        Dim leFichier As String
        Dim oList As Object
     
        On Error Resume Next
        Set oList = ListView1.SelectedItem
        If oList Is Nothing Then Exit Sub
        On Error GoTo 0
     
        'Le chemin complet est stocké dans le Tag
        leFichier = ListView1.ListItems.Item(ListView1.SelectedItem.Index).Tag
        Unload Me
     
        If Right(leFichier, 4) = ".xls" Then
            ThisWorkbook.FollowHyperlink leFichier
            Else
            ShellExecute 0, "open", leFichier, "", "", vbNormalFocus
        End If
    End Sub
    mais le fichier va dans .tag qu'est ce???

    merci par avance

    Pascal

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Comme toi, je ne comprends pas car, si on ajoute MsgBox derrière cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    leFichier = ListView1.ListItems.Item(ListView1.SelectedItem.Index).Tag
    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    leFichier = ListView1.ListItems.Item(ListView1.SelectedItem.Index).Tag
        MsgBox leFichier
    ...
    l'extension n'est pas incluse, donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Right(leFichier, 4) = ".xls" Then
    ...
    même si on mettait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Right(leFichier, 5) = ".xlsm"
    ne peut pas retourner un résultat,

    Je cherche donc comment retrouver l'extension avec ce programme
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    Bonsoir Dom
    c'est a la suite de cette discussion que je me suis dit que dans les tutos il devait bien y avoir du ressemblant avec une listview car c'est ce que j'utilise le plus
    je ne saisi pas ce qu'il a écrit en feuil1 au dessus du bouton
    L'exemple proposé dans ce classeur permet de choisir un répertoire à partir d'une boîte de dialogue puis d'en afficher le contenu
    dans le style du volet droit de l'explorateur Windows.
    ce doit etre l'affichage dans la listview à mon avis
    Pascal

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    A la différence que sur le fichier que j'ai proposé, on peut ouvrir la sélection, il suffit de (pour un double-click)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Workbooks.Open ListBox1
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    re dom
    oui mais de toute façon il y a une différence quand on lit la procédure au niveau du bouton1 qui n'est pas codé pareil que sur le fichier téléchargé

    Pascal
    edit
    ne peut'on pas remplir la listview directement en prenant les données dans c:\facturation\devis dès l'appui sur le bouton d'ouverture de cet usf ????
    voici le lien qui mene au fichier de sylkyroad mais auquel j'ai mis 2 boutons 1 pour fermer et un autre pour valider quand la ligne est sélectionnée dans la listview
    http://cjoint.com/?CIpu0DkyUd1
    Pascal

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Je l'avais ce fichier,

    Pour l'instant, j'ai trouvé une solution (à adapter), uniquement pour ce fichier, car on peut concevoir autrement.

    Pour le Double-Click
    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
    'Ouvre le fichier par un double clic sur la ligne
    Private Sub ListView1_DblClick()
        Dim leFichier As String
        Dim oList As Object
     
        On Error Resume Next
        Set oList = ListView1.SelectedItem
        If oList Is Nothing Then Exit Sub
        On Error GoTo 0
     
        'Le chemin complet est stocké dans le Tag
        leFichier = ListView1.ListItems.Item(ListView1.SelectedItem.Index).Tag
        Unload Me
        'ci-dessous, on ne prend que ".xlm" ou ".xlsm"
        If ExisteFichier(leFichier & ".xlsm") = True Then
          ThisWorkbook.FollowHyperlink leFichier & ".xlsm"
          leFichier = leFichier & ".xlsm"
        ElseIf ExisteFichier(leFichier & ".xls") = True Then
          ThisWorkbook.FollowHyperlink leFichier & ".xls"
          leFichier = leFichier & ".xlsm"
        End If
     
        ShellExecute 0, "open", leFichier, "", "", vbNormalFocus
    End Sub
    et on ajoute cette fonction dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function ExisteFichier(nomfic As String) As Boolean
    ExisteFichier = (Dir(nomfic) <> "")
    End Function
    c'est tarabiscoté mais ça dépanne
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/06/2009, 12h12
  2. Réponses: 3
    Dernier message: 27/11/2008, 17h57
  3. [ODBC] Garder une saisie après sélection dans une liste déroulante
    Par nawak.seb dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 27/08/2008, 14h48
  4. Réponses: 16
    Dernier message: 04/07/2008, 08h07
  5. Réponses: 2
    Dernier message: 08/10/2007, 10h09

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