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

Access Discussion :

adaptation de code VBA - ouvrir boite de dialogue


Sujet :

Access

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2006
    Messages : 325
    Points : 207
    Points
    207
    Par défaut adaptation de code VBA - ouvrir boite de dialogue
    bonjour,

    J'ai utilisé le code trouvé sur ce site pour ouvrir une fenêtre de sélection du fichier image a ajouter à l'enregistrement.
    Il fonctionne super bien.

    Seulement je vais devoir déplacer ma base de donnée quand elle sera finie.
    Donc j'aimerais que cette boite s'ouvre sur une variable (le chemin d'accès du dossier) stockée dans une table et affichée dans un sous formulaire ou formulaire principal celon les cas.

    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
     Private Sub Commande18_Click()
    Dim strLink As String
     
    ' Gestion des erreurs
    On Error GoTo Catch01
     
    ' récupération du chemin physique de la photo
    ' par la boite de dialogue
    strLink = OuvrirUnFichier(Me.Hwnd, _
    "Sélectionner une photo pour le batiment", _
    2, "fichier image", "jpg", "Formulaires![ChemDoss]![ChemDoss]")
     
    ' si la boite renvoie une adresse non nulle
    If Len(strLink) > 0 Then
    ' tentative d'affichage de la photo
    Me.facade.Picture = strLink
    Me.chemFacade = strLink
    End If
    Si je remplace "Y:\image" par "Formulaires![ChemDoss]![ChemDoss]" il n'en tient pas compte.
    pouvez vous m'aider à corriger le code.
    merci

  2. #2
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    et si tu enlève les guillemets "" de "Formulaires![ChemDoss]![ChemDoss]"
    Regarde si ça fonctionne.

    A+

  3. #3
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par p'tite Sandrine
    bonjour,

    J'ai utilisé le code trouvé sur ce site pour ouvrir une fenêtre de sélection du fichier image a ajouter à l'enregistrement.
    Il fonctionne super bien.

    Seulement je vais devoir déplacer ma base de donnée quand elle sera finie.
    Donc j'aimerais que cette boite s'ouvre sur une variable (le chemin d'accès du dossier) stockée dans une table et affichée dans un sous formulaire ou formulaire principal celon les cas.

    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
     Private Sub Commande18_Click()
    Dim strLink As String
     
    ' Gestion des erreurs
    On Error GoTo Catch01
     
    ' récupération du chemin physique de la photo
    ' par la boite de dialogue
    strLink = OuvrirUnFichier(Me.Hwnd, _
    "Sélectionner une photo pour le batiment", _
    2, "fichier image", "jpg", "Formulaires![ChemDoss]![ChemDoss]")
     
    ' si la boite renvoie une adresse non nulle
    If Len(strLink) > 0 Then
    ' tentative d'affichage de la photo
    Me.facade.Picture = strLink
    Me.chemFacade = strLink
    End If
    Si je remplace "Y:\image" par "Formulaires![ChemDoss]![ChemDoss]" il n'en tient pas compte.
    pouvez vous m'aider à corriger le code.
    merci


    essaie ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    strLink = OuvrirUnFichier(Me.Hwnd, _
    "Sélectionner une photo pour le batiment", _
    2, "fichier image", "jpg", Formulaires![ChemDoss]![ChemDoss])

    La meme chose donc, mais sans les "

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2006
    Messages : 325
    Points : 207
    Points
    207
    Par défaut
    Cela donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Erreur inatendue: 424
    Objet requis

  5. #5
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    teste si Formulaires![ChemDoss]![ChemDoss] renvoie bien le chemin d'accès du dossier.

    A+

  6. #6
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 219
    Points : 108
    Points
    108
    Par défaut
    Pourquoi 2 fois [ChemDoss]? : Formulaires![ChemDoss]![ChemDoss]


    à mon avis ceci: Formulaires![ChemDoss] suffit
    ou Formulaires![ChemDoss].value (mais la,j'en suis moin sur)

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2006
    Messages : 325
    Points : 207
    Points
    207
    Par défaut
    - le chemin d'acces renvois bien a un dossier


    - j'ai mis deux fois [ChemDoss] car l'un est le nom du sous formulaire et l'autre le nom du champ de ce sous formulaire. (j'ai mis le même nom pour le retrouver facilement car ma base est plutot complexe et comprend déjà de nombreux formulaire et sous formulaire )

  8. #8
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    et si tu remplace "Formulaires![ChemDoss]![ChemDoss]" par
    """ & Formulaires![ChemDoss]![ChemDoss] & """

    A+

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2006
    Messages : 325
    Points : 207
    Points
    207
    Par défaut
    Plus de message d'erreur.
    Mais il ne tient toujours pas compte du chemin d'acces et continue a ouvrir le dossier que j'avais viser avant de vouloir en faire une variable

  10. #10
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Controls("CheminDoss").Form.Controls("CheminDoss")
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2006
    Messages : 325
    Points : 207
    Points
    207
    Par défaut solution
    merci pour votre aide.

    On m'a conseiller quelque chose qui a bien fonctionné.
    Mon problème était que je cherchais le champ d'un formulaire alors que c'était celui d'un sous formulaire. Ce qui donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    strLink = OuvrirUnFichier(Me.Hwnd, _
                             "Sélectionner une photo pour le batiment", _
                             2, "fichier image", "jpg", Forms![NOUVEAU BATIMENT]![ChemDoss].Form![ChemDoss])
    et voilà

    merci a tous pour votre acceuil et surtout pour votre rapidité.

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

Discussions similaires

  1. [VBA-E] boite de dialogue palette de couleur
    Par virginie2 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 02/04/2017, 15h20
  2. vba : ouvrir boite de dialogue dans dossier choisi ?
    Par timtof2011 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/01/2012, 15h30
  3. [VBA - Outlook] Boite de dialogue Ouvrir
    Par wanou44 dans le forum VBA Outlook
    Réponses: 6
    Dernier message: 01/03/2007, 18h17
  4. [VBA E]boite de dialogue ouvrir
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 04/06/2006, 21h59
  5. [VBA] Paramètres boite de dialogue Excel
    Par seb.kepka dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/01/2006, 11h19

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