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

VBA Access Discussion :

Bouton Parcourir impossible à créer [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Retraité Informaticien
    Inscrit en
    Juin 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité Informaticien
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2015
    Messages : 20
    Points : 19
    Points
    19
    Par défaut Bouton Parcourir impossible à créer
    Bonjour,

    Je cherche à créer un bouton "Parcourir" pour aller chercher le chemin d'un fichier sur le disque dur.
    Ce que j'essaye de faire, c'est de récupérer des bandes annonces stockées, environ 500, pour les incorporer dans ma base de données Cinéma.

    J'ai essayé avec le code donné ici, mais il ne fonctionne pas.

    1- je n'ai pas le contrôle "common Dialog"
    2- je suis en Access 2013 64 bits, et le code donné ici ne fonctionne pas en 64 bits!

    Le compilateur VBA me demande de modifier le code, mais là... suis perdu.

    voici le bout de code à modifier/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Declare Sub PathStripPath Lib "shlwapi.dll" Alias "PathStripPathA" (ByVal pszPath As String)
    Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
                       "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
    Merci d'avance à tous

  2. #2
    rnd
    rnd est déconnecté
    Membre habitué Avatar de rnd
    Homme Profil pro
    Prestataire indépendant
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Prestataire indépendant

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 186
    Points
    186
    Par défaut
    Bonjour,


    Cherche a utiliser l'objet FileDialog

    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
    Private Sub CmdImpXML_Click()
    Dim fd As Office.FileDialog
     
    ' Créer un objet FileDialog
    Set fd = Application.FileDialog(msoFileDialogOpen)
     
    ' initialise de la boîte
    With fd
        .Title = "Import"
        .InitialFileName = "Chemin de ton fichier"
        .Filters.Clear
        .Filters.Add "Fichiers XML", "*.xml", 1
        .AllowMultiSelect = False
    End With
     
    ' Afficher la boîte et traiter le résultat
    If fd.Show Then
      ChImpXML = fd.SelectedItems(1)
    End If
     
    Set fd = Nothing
     
    End Sub
    Pour environement avec Access en 64 bit, un peu de lecture ici http://arkham46.developpez.com/artic...ice/vba64bits/


    Cdt, Renaud.
    "Si un jour on te reproche que ton travail, n'est pas un travail de professionnel, dis-toi bien que:
    Des amateurs ont construit l'arche de Noé et des professionnels le Titanic."

  3. #3
    Membre à l'essai
    Homme Profil pro
    Retraité Informaticien
    Inscrit en
    Juin 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité Informaticien
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2015
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    Un grand merci, et en effet, j'ai de la lecture. Maintenant, je me demande si au lieu de modifier le code VBA 32, je ne vais pas passer directement en office 2013 en 32bits. Si ma base qui est déjà importante peu se mettre en 32 bits, je le fait. Sinon, ben j'étudierai à fond le tuto.

    Cordialement, Claude

  4. #4
    rnd
    rnd est déconnecté
    Membre habitué Avatar de rnd
    Homme Profil pro
    Prestataire indépendant
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Prestataire indépendant

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 186
    Points
    186
    Par défaut
    Bonjour,

    Si tu te retrouve bloqué seulement maintenant pour des problèmes de compatibilité 32/64 et que tu suivis les 95-99% des tutos qui sont basé pour du 32. Tu a en effet tout intérêt de redescendre en 32.
    Après la question, est ce que tu développe pour ton usage perso, ou compte tu distribuer ton appli à des tiers par la suite. Même si cela reste encore marginal, il y aura de plus en plus de version 64 à l'avenir.

    Bonne continuation, Renaud.

    Pense à mettre résolue.
    "Si un jour on te reproche que ton travail, n'est pas un travail de professionnel, dis-toi bien que:
    Des amateurs ont construit l'arche de Noé et des professionnels le Titanic."

  5. #5
    Membre à l'essai
    Homme Profil pro
    Retraité Informaticien
    Inscrit en
    Juin 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité Informaticien
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2015
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    Re bonjour,

    Pour répondre à ta question, je développe pour moi. Suis retraité, mais chut, faut pas le dire. Ensuite, non je ne suis pas tous les tutos, mais il est vrai que c'est une vraie mine d'or, et j'ai déjà trouvé beaucoup d'astuces qui m'ont bien aidées. Donc, je vais suivre ton conseil, passer en 32 bits.

    Merci pour tout,
    Cordialement, Claude

  6. #6
    Membre à l'essai
    Homme Profil pro
    Retraité Informaticien
    Inscrit en
    Juin 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité Informaticien
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2015
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    Bonjour,
    Suite à notre dernière discussion, j'ai racheté une licence Access 32 bits. J'ai pu installé et tester ton code. Cela fonctionne en partie, et je m'explique: La boîte Import s'ouvre, je choisi mon fichier et quand je clique sur ouvrir, la boîte se referme, et pas de chemin du fichier dans mon champ!!!

    Que fais-je de faut? Dois-je inclure un copier/coller en VBA? je ne sais pas... Si tu as une idée, je suis preneur.
    J'ai installé en suivant le Tuto de Cafeine, pour inclure des photos, et cela fonctionne très bien, et j'aimerais faire la même chose avec le chemin de mes vidéos.

    Cordialement, Claude

  7. #7
    rnd
    rnd est déconnecté
    Membre habitué Avatar de rnd
    Homme Profil pro
    Prestataire indépendant
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Prestataire indépendant

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 186
    Points
    186
    Par défaut
    Bonjour claude,

    Normalement c'est la partie,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If fd.Show Then NomDeTonChampImport = fd.SelectedItems(1)
    , qui doit récuperer le chemin du fichier, A tu bien renommer le nom de la textebox. Si cela fonctionne pour les images, la procédure est la même pour tous type de fichiers, attention peut etre au filtre de fichier dans Filters.Add.

    Cdt Renaud.
    "Si un jour on te reproche que ton travail, n'est pas un travail de professionnel, dis-toi bien que:
    Des amateurs ont construit l'arche de Noé et des professionnels le Titanic."

  8. #8
    Membre à l'essai
    Homme Profil pro
    Retraité Informaticien
    Inscrit en
    Juin 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité Informaticien
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2015
    Messages : 20
    Points : 19
    Points
    19
    Par défaut
    Bonsoir Renaud,

    En fait j'ai testé ton code sans y ajouter aucune modification, si ce n'est l'extension des fichiers à rechercher mp4 au lieu de xml.
    Je vais donc faire ce que tu me conseilles, et je te tiendrais au courant.
    Dans tous les cas un Grand Merci pour ton aide précieuse.

    Cordialement, Claude

    PS TOUT FONCTIONNE A MERVEILLE. Encore MERCI

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,

    Une précision pour nos éventuels lecteurs :

    Acheter une licence 32bits pour un problème de compatibilité N'EST ABSOLUMENT PAS UNE OBLIGATION et n'est pas un conseil à suivre. Au delà de la valeur ajouté d'ACCESS 64, la compatibilité VBA 32/64 en général, on va devoir s'y faire.

    Les modifications à mettre en œuvre pour la compatibilité ne sont pas complexes :
    Ce tuto démontre pas-à-pas les instructions à mettre en place :

    http://arkham46.developpez.com/artic...ice/vba64bits/

    Ici vous avez la source de l'éditeur :

    https://msdn.microsoft.com/fr-fr/lib...ffice.14).aspx

    Pour exemple, le code fourni par le Glaude51 est en 32 bits :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Declare Sub PathStripPath Lib "shlwapi.dll" Alias "PathStripPathA" (ByVal pszPath As String)
     Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
    En 64 cela devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Declare PtrSafe  Sub PathStripPath Lib "shlwapi.dll" Alias "PathStripPathA" (ByVal pszPath As String)
     Private Declare PtrSafe  Function GetOpenFileName Lib "comdlg32.dll" Alias _
     "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
    Sinon l'utilisation du FSO est, lui, un conseil à suivre.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  10. #10
    Membre à l'essai
    Homme Profil pro
    Retraité Informaticien
    Inscrit en
    Juin 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité Informaticien
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2015
    Messages : 20
    Points : 19
    Points
    19
    Par défaut Bouton parcourir fonctionne pas
    Bonjour Renaud,
    Et oui, je reviens, car cela ne fonctionne pas!
    Je m'explique:
    1- le code que tu m'as transmis fonctionne parfaitement. il sélectionne le nom du fichier et le met dans le champ approprié.
    2- Mais lorsque je clique sur le nom du fichier, celui-ci ne répond pas, c'est à dire qu'il ne s'ouvre pas. Ennuyeux pour lire une vidéo!!!
    3- J'ai donc essayé avec plusieurs extensions de fichiers, *.pdf, *.html, etc..., mais aucun fichier ne s'ouvre!

    Contrairement à l'astuce Windows qui consiste à sélectionner le fichier puis en maintenant la touche Maj et avec le btn droite de la souris "Copier en tant que chemin d'accès" et coller dans le champ, ça cela fonctionne. J'ai beau chercher, mais je ne trouve pas comment modifier le code transmis, pour que cela fonctionne. Si tu as une idée, je suis preneur , et dans le cas contraire, j'utiliserais la fonction "Copier en tant que chemin d'accès", qui est plus longue, mais qui fonctionne.

    D'avance merci.

    Cordialement, Claude

  11. #11
    Membre à l'essai
    Homme Profil pro
    Retraité Informaticien
    Inscrit en
    Juin 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité Informaticien
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2015
    Messages : 20
    Points : 19
    Points
    19
    Par défaut Une petite précision
    Citation Envoyé par loufab Voir le message
    Bonjour,

    Une précision pour nos éventuels lecteurs :

    Acheter une licence 32bits pour un problème de compatibilité N'EST ABSOLUMENT PAS UNE OBLIGATION et n'est pas un conseil à suivre. Au delà de la valeur ajouté d'ACCESS 64, la compatibilité VBA 32/64 en général, on va devoir s'y faire.

    Les modifications à mettre en œuvre pour la compatibilité ne sont pas complexes :
    Ce tuto démontre pas-à-pas les instructions à mettre en place :

    http://arkham46.developpez.com/artic...ice/vba64bits/

    Ici vous avez la source de l'éditeur :

    https://msdn.microsoft.com/fr-fr/lib...ffice.14).aspx

    Pour exemple, le code fourni par le Glaude51 est en 32 bits :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Declare Sub PathStripPath Lib "shlwapi.dll" Alias "PathStripPathA" (ByVal pszPath As String)
     Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
    En 64 cela devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Declare PtrSafe  Sub PathStripPath Lib "shlwapi.dll" Alias "PathStripPathA" (ByVal pszPath As String)
     Private Declare PtrSafe  Function GetOpenFileName Lib "comdlg32.dll" Alias _
     "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
    Sinon l'utilisation du FSO est, lui, un conseil à suivre.

    Cordialement,
    Bonjour,

    Je tiens à vous préciser, que si j'ai racheté une licence Microsoft Access 2013 32 bits, ce n'est pas seulement pour pouvoir travailler en 32bits, mais tout simplement pour l'installer sur un PC neuf et propre, et que je n'avais plus de licence!
    Je tiens à ce que cela soit clair pour les lecteurs!


    Merci.
    Cordialement, Claude

  12. #12
    rnd
    rnd est déconnecté
    Membre habitué Avatar de rnd
    Homme Profil pro
    Prestataire indépendant
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Prestataire indépendant

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 186
    Points
    186
    Par défaut
    Bonjour Claude,


    Pour pouvoir ouvrir, par exemple une vidéo, en cliquant sur le texte, il faut mettre la propriété du champs en hypertexte (dans la table et le formulaire)

    Pour l'enregistrement du nom de fichier il y a effectivement une subtilité, que je vient de découvrir (je n’utilise pas les liens hypertexte) mais apparemment il faut encadrer le chemin de ton fichier par des #, au lieu de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If fd.Show Then NomDeTonChampImport = fd.SelectedItems(1)
    Il faut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If fd.Show Then NomDeTonChampImport = "#" & fd.SelectedItems(1) & "#"
    Cdt, Renaud.
    "Si un jour on te reproche que ton travail, n'est pas un travail de professionnel, dis-toi bien que:
    Des amateurs ont construit l'arche de Noé et des professionnels le Titanic."

  13. #13
    Membre à l'essai
    Homme Profil pro
    Retraité Informaticien
    Inscrit en
    Juin 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité Informaticien
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2015
    Messages : 20
    Points : 19
    Points
    19
    Par défaut Btn Parcourir OK
    Bonjour Renaud,

    J'ai eu beau chercher, mais je n'avais pas trouver. Alors, un GRAND MERCI

    Très cordialement, Claude

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

Discussions similaires

  1. [C#] Créer un bouton parcourir
    Par trotters213 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 24/01/2012, 18h22
  2. créer un bouton parcourir et ouvrir l'explorer windows
    Par elpiocky dans le forum wxPython
    Réponses: 3
    Dernier message: 03/06/2010, 11h10
  3. [lablgtk2] créer un bouton parcourir
    Par amiroushka dans le forum Caml
    Réponses: 13
    Dernier message: 09/01/2010, 16h46
  4. comment créer un drag & drop sur bouton parcourir en asp.net
    Par tilily dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 03/02/2009, 13h25
  5. créer un bouton "Parcourir" dans un formulaire
    Par friald38 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/04/2007, 11h30

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