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 :

Problème de code en créant un bouton insérer photo dans un formulaire access


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Problème de code en créant un bouton insérer photo dans un formulaire access
    Bonjour chers forumistes

    Je suis en train de créer une base de données de gestions de personnel avec access 2007. Chaque membre devrait être identifié dans le formulaire avec sa photo. J'ai créer le cadre d'affichage de la photo. Ensuite le bouton insérer photo (image 1).

    Nom : cadre_image.JPG
Affichages : 366
Taille : 11,2 Ko


    Mais lorsque je clique sur le bouton, j'ai une boîte de dialogue qui m'affiche une erreur de compilation (image 2).

    Nom : code_erreur.JPG
Affichages : 457
Taille : 81,2 Ko


    Je voudrais vous demander de l'aide pour corriger le code. Voici le 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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    Private Sub cmd_closeFormDataGeneral_Click()
    On Error GoTo Err_cmd_closeFormDataGeneral_Click
     
     
        DoCmd.Close
     
    Exit_cmd_closeFormDataGeneral_Click:
        Exit Sub
     
    Err_cmd_closeFormDataGeneral_Click:
        MsgBox Err.Description
        Resume Exit_cmd_closeFormDataGeneral_Click
     
    End Sub
     
    Private Sub cmdPhoto_Click_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 = "Ajouter 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 = "cmdPhoto_Click"
        '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
     
    Private Sub IndépendantOLE111_Updated(Code As Integer)
    ' L'événement Activation (Current) se produit lorsque le focus passe à un enregistrement
    '  donné pour en faire l'enregistrement en cours, ou lorsque le formulaire est
    '  Actualisé ou en Actualisation.
     
    ' si le nom du membre est non vide : on visualise un enregistrement
    '  sinon cela indique que nous sommes sur un enregistrement vierge, donc en cours de saisie.
    '  Me.Caption : gère le titre du formulaire.
    If Len(Me.Nom) > 0 Then
        Me.Caption = "Détails pour le membre : " & Me.Nom & " - " & Me.Prénom
    Else
        Me.Caption = "Saisie d'un nouveau membre"
    End If
     
    ' Gestion des erreurs
    On Error GoTo Catch02
     
    ' si la photo n'est pas définie, on affiche la photo blank.jpg
    ' CurrentProject.Path : est le chemin de l'application
    If Len(Me.photo) > 0 Then
        Me.imgPhoto.Picture = Me.photo
    Else
        Me.imgPhoto.Picture = CurrentProject.Path & "\images\blank.jpg"
    End If
     
    DisplayPhoto
     
    Exit Sub
     
    Catch02:
    Select Case Err.Number
        Case 2114
            'Cas d'un type de fichier photo non supporté ...
            MsgBox "Le format de l'image n'est pas supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos"
            Me.imgPhoto.Picture = CurrentProject.Path & "\images\blank.jpg"
            Me.photo = vbNullString
        Case 2220
            'Cas d'un emplacement non valide du fichier image
            MsgBox "Le fichier image n'a pas été trouvé à l'emplacement indiqué : " & vbCrLf & _
                    Me.photo, vbCritical + vbOKOnly, "Application Photos"
            Me.imgPhoto.Picture = CurrentProject.Path & "\images\blank.jpg"
            Me.photo = vbNullString
        Case Else
            ' tout autre cas d'erreur
            MsgBox "Erreur inattendue : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Application Photos"
    End Select
    Err.Clear
     
     
    End Sub
    Sub DisplayPhoto()
    ' Traitement en fonction de la taille de l'image
     
    ' regarde si la hauteur de l'image dépasse celle du contrôle Picture
    If Me.imgPhoto.ImageHeight > Me.imgPhoto.Height Then
        ' met le contrôle en mode zoom
        Me.imgPhoto.SizeMode = 3
    Else
        ' met le contrôle en mode respect de la taille originale
        Me.imgPhoto.SizeMode = 0
    End If
     
    ' si la largeur dépasse et qu'on est en mode taille réelle ...
    If (Me.imgPhoto.ImageWidth > Me.imgPhoto.Width) And (Me.imgPhoto.SizeMode) = 0 Then
        ' on met en mode zoom
        Me.imgPhoto.SizeMode = 3
    End If
     
     
    End Sub


    Merci pour votre aide

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Il faudrait préciser ta définition de FileDialog :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim oFD As Office.FileDialog
    Regarde l'exemple de l'Aide pour l'utilisation de FileDialog.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut problème avec fileDialog
    Bonjour Madefemere

    J'ai essayer de voire plus loin dans l'utilisation de fileDialog mais je n'y suis pas parvenu. Est-ce qu'avec le code que j'ai envoyé vous pouvez opérer la correction pour moi. Je ne suis pas un as du vb.

Discussions similaires

  1. Réponses: 20
    Dernier message: 23/07/2012, 14h32
  2. Problème d'affichage dans un formulaire Access
    Par JohnDoeVS dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/03/2007, 06h57
  3. Création d'un bouton de commande dans un formulaire
    Par annelaure dans le forum Access
    Réponses: 5
    Dernier message: 30/05/2006, 11h48
  4. Insertion bouton d'option dans un formulaire
    Par Le Rebel dans le forum Langage
    Réponses: 1
    Dernier message: 09/02/2006, 09h36
  5. insérer un tableau dans un formulaire ACCESS
    Par julie76 dans le forum Access
    Réponses: 2
    Dernier message: 25/10/2005, 18h47

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