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

IHM Discussion :

[VBA] Erreur type non defini sur un Objet FileDialog


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut [VBA] Erreur type non defini sur un Objet FileDialog
    Bonjour,

    J'ai un pb, je n'arrive pas à utiliser l'objet FileDialog même en cochant Microsoft Office 12.0 Object Library pour mon projet VBA. L'erreur est la suivante :
    "Type défini par l'utilisateur non défini"

    Y a t il autre chose à faire ?

    Voici mon 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     Private Sub btnInserer_Click()
     
    'Déclaration des variables
    Dim strFichier As String
    Dim oFD As FileDialog
    'Paramètre la fenêtre Ouvrir
    Set oFD = Application.FileDialog(msoFileDialogOpen)
    With oFD
        'Ajoute les filtres pour fichiers images et tous
        With .Filters
            .Clear
            .Add "Fichiers images", "*.jpg;*.jpeg;*.bmp;*.gif", 1
            .Add "Tous", "*.*", 2
        End With
        'Renseignement du titre
        .Title = "Insérer une image"
        'Ouvre l'explorateur dans le fichier 'Mes documents' du User connecté.
        .InitialFileName = Environ("USERPROFILE") & "\Mes documents\Mes images"
        'Interdit la multi sélection
        .AllowMultiSelect = False
        'Permet de choisir le mode d'affichage dans l'explorateur (ici apperçu)
        .InitialView = msoFileDialogViewPreview
        'Permet de personnaliser le bouton.
        .ButtonName = "Insérer"
        'Affiche la fenêtre
        If .Show Then
            On Error GoTo fini  'gestion erreur pour control importation
            'Retourne un erreur si pas fichier image.
            Me.Image1.Picture = .SelectedItems(1)
            'Vide du cadre image.
            Me.Image1.Picture = ""
            'Extraction du nom du fichier à copier.
            strFichier = Mid(.SelectedItems(1), InStrRev(.SelectedItems(1), "\"))
            'Copie du fichier sélectionné vers le sous dossier de la base.
            FileCopy .SelectedItems(1), CurrentProject.Path & "\images" & strFichier
            'Chargement dans control du chemin de l'image (sous dossier base).
            Me.Photos = CurrentProject.Path & "\images" & strFichier
            'Rafraîchit le Formulaire.
            Me.Refresh
        End If
    End With
    Exit Sub
    fini:
        Select Case Err
            Case 2220
                MsgBox "L'importation du fichier ne c'est pas effectué normalement.", _
                    vbCritical, "Erreur fichier Image"
            Case Else
                MsgBox Err.Number & Chr(13) & Err.Description
        End Select
    End Sub
    J'ai essayer sur 2 ordi : même résultat !

    Merci de vos réponses

    Henry

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Bonjour et bienvenue sur le Forum,

    Où s'arrête le pointeur lors de cette erreur ?

    Dolphy

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci pour cette réponse rapide, le pointeur s'arréte sur la ligne de code suivante :

    Dim oFD As FileDialog

    J'ai l'impression qu'il ne va pas faire la référence avec les object office 12

    Henry

  4. #4
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Citation Envoyé par he-gauth Voir le message
    Merci pour cette réponse rapide, le pointeur s'arréte sur la ligne de code suivante :

    Dim oFD As FileDialog

    J'ai l'impression qu'il ne va pas faire la référence avec les object office 12

    Henry

    les objets FileDialog correspondent bien à la référence Microsoft Office 12.0 Object Library.

    Esseye de compacter ta base et de la ré-ouvrir ensuite tout en laissant la référence cochée

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    J'ai eu exactement le même problème. J'ai importé une base Access 2000 tournant sur 2003 vers access 2000.
    Sous access 2003, il n'y avait aucun probleme pour utiliser un filedialog (La librairie cochée était Microsoft office 11.0 object library)

    Lors du passage sur Access 2000, la référence disponible est Microsoft office 9.0 object library.
    J'ai copié la référence access 2003 (mso.dll) sur une clé USB et j'ai essayé de l'importer sur l'autre machine (via le bouton "parcourir" de la fenetre "références access 9"), en vain. Ma nouvelle référence n'apparait pas.

    J'ai l'impression que cette référence ne peut marcher que sous office 11, et qu'il est impossible d'utiliser filedialog sous 2000...

    Si quelqu'un connait un moyen équivalent pour ouvrir une fenetre où l'on peut sélectionner un repertoire....

    Edit : j'ajoute que je n'ai pas accès à l'aide d'access 2000, ce qui ne facilite évidemment pas les choses!!!

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 034
    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 034
    Points : 24 605
    Points
    24 605
    Par défaut
    Bonjour,
    Pour qu'une référence apparaisse dans le menu des références il faut qu'elle soit déclaré en base de registre.

    Par contre mélanger des versions de dll/olb office n'est pas conseillé.

    Cordialement,

  7. #7
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Sauf erreur de ma part, FileDialog n'est disponible que depuis la version 2002...

    Domi2

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Citation Envoyé par Domi2 Voir le message
    Bonjour,

    Sauf erreur de ma part, FileDialog n'est disponible que depuis la version 2002...

    Domi2
    Je confirme, personnellement pour une compatibilité totale je passe par les API, le code est dans la ou les sources Access, je ne sais plus laquelle.

    Starec

  9. #9
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Oui, c'est ici.

    Avec ça, pas de soucis de versions...

    Domi2

  10. #10
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Merci pour vos réponses, je vais essayer ca tout de suite!

  11. #11
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Ca marche parfaitement. J'avoue ne pas cerner parfaitement ce qui est fait, mais ca a le mérite de rendre mon appli portable et fonctionnelle. Merci pour votre aide!

Discussions similaires

  1. Erreur : Type non défini sur composant
    Par Te-Deum dans le forum VB.NET
    Réponses: 1
    Dernier message: 10/09/2010, 11h15
  2. erreur méthode non gérée sur l'objet document
    Par belgariel dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/05/2010, 09h59
  3. message d'erreur 'type non protégé 'Pchar'
    Par neho88 dans le forum Delphi
    Réponses: 3
    Dernier message: 15/03/2007, 00h18
  4. [Débutant]Erreur Symbole non défini
    Par sitirna dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/08/2006, 11h06
  5. Réponses: 2
    Dernier message: 13/06/2006, 08h47

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