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 :

Insertion de photo


Sujet :

VBA Access

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut Insertion de photo
    Je lis beaucoup sur la façon de créer un code pour incérer une photo dans un formulaire, et je ne trouve pas.

    Voici mes étapes manuelles quelqu'un peut-il me donner une piste de départ pour que je puisse monter mon code
    Manuellement je:

    Selectionne mon cadre photo dans mon formulaire
    Insérer un object...
    Bitmap Image
    Édition - Coller à partir de
    C:...Etc...\test.jpg
    enter

    Merci de votre soutiens

  2. #2
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Hello !

    Peux-tu encore nous dire quel sera le but de ce code ?

    Doit-il faire exactement le même boulot que tu expliques ou souhaites-tu créer quelque chose de plus dynamique ?
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut En fonction de variable
    L'opération est toujours la même, rechercher en fonction d'une variable, et coller sans liaison dynamique (Qui n'est pas lié au fichier JPG demandé).

    L'idée est que l'image en question ne reste pas dans le répertoire de selection.

    j'imagine une opération du genre copier,coller ,ce que j,ai lu jusqu'a maintenant semble garder une liaison, ainsi si on supprime la photo du répertoire elle disparait aussi de la BD.

  4. #4
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Hello !

    Ne connsaissant pas vraiment le contexte dans lequel tu souhaites faire cela, je te propose une "mini-fonction" dans laquelle tu pourras puiser et comprendre comment on peut faire cela d'une manière très simple.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function LoadPhoto()
    Dim strPhoto As String
     
        strPhoto = MonForm!CheminPhoto      ' Dans un form, tu places un Control dans lequel figure
                                            ' le chemin complet où se trouve ta photo
        If IsNull(strPhoto) Then
            MsgBox "La photo n'existe pas.", vbOKOnly, "Contrôle"
        Else
            Me!ImageFrame.Picture = strPhoto    ' Tu choisis "Attaché" sous "Type image" du Control
                                                ' inséré dans ton form
        End If
     
    End Function
    .. et si jamais, tu sais à quelle porte frapper....
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut ok Donc faut passer par une fonction
    Bon je vais travailler la dessus, merci beaucoup

    Je me demande est-ce que je dois déclarer des variables du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim oFSO As Scripting.FileSystemObject
    Set oFSO = New Scripting.FileSystemObject
    Car je suis pas encore très familier avec tout ça ...je comprend l'importance mais je ne sais pas encore quand ils sont necessaires.

    Merci de votre soutiens

  6. #6
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Je me permets d'intervenir sur ceci :
    ,ce que j,ai lu jusqu'a maintenant semble garder une liaison, ainsi si on supprime la photo du répertoire elle disparait aussi de la BD.
    L'avantage et non des moindres : le poids de la base de données.

    Si tu stockes les images dans la base, elle va grossir. Imagine que tu stockes des images de 500ko au bout de 20, tu auras une base de 10 mo + la taille de la base sans photos.

    A toi de voir, mais je te déconseillerais de stocker tes images dans la base.

    Sans indiscrétion, pourquoi :
    L'idée est que l'image en question ne reste pas dans le répertoire de selection.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut Parce que :
    Les dossiers qui sont enregistrés sur la BD sont compilé un moment donnée sur DVD Je ne veux pas doubler un dossier genre un pour l'image et l'autre pour le reste des données.

    Je sais bien que ma BD va grossir mais l'espace disque sera aussi utilisé si je stock les photos dans un dossier Icone par exemple, et je crains (Sans l'avoir expérimenté) que la vitesse d'exécution quand je vais changer de page va être ralentie du fait que la mémoire vive sera toujour en train de lire une commande de présentation de photo.

    Mon raisonnement fait il du sens ?

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut Parce que
    J'ai l'intention de compiler mes dossiers sur DVD et je veux pas diviser l'image repésentant le dossier de son contenu.

    C'est vrai que ma BD va devenir plus volumineux mais je me dit que j'utiliserais la même espace disque si je créais un dossier icone par exemple.

    De plus, je crains (sans l'avoir expérimenté) que la vitesse d'execution de ma BD diminue du fait que je demande de lire une nouvelle image à chaque page de ma BD.

    Mon raisonnement a t-il du sens selon vous

  9. #9
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Citation Envoyé par Mario Rousson Voir le message
    J'ai l'intention de compiler mes dossiers sur DVD et je veux pas diviser l'image repésentant le dossier de son contenu.
    J'ai pas vraiment compris

    C'est vrai que ma BD va devenir plus volumineux mais je me dit que j'utiliserais la même espace disque si je créais un dossier icone par exemple.
    Peut être mais quand tu vas charger ta BDD en mémoire : tu ne vas charger que 5 mo et pas 80.
    Les images ne se chargeront qu'en changeant d'enregistrement.

    De plus, je crains (sans l'avoir expérimenté) que la vitesse d'execution de ma BD diminue du fait que je demande de lire une nouvelle image à chaque page de ma BD.
    Pas forcément...

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    Pour ton intervention Lou Pitchoun je vais étudier la question tu as peut-être raison!

    mais pour finir l'apprentissage de ma ligne de pensé, quand j'essai le code à bernardmichel il apparait un message box "Object requis", Comment je fait pour savoir de quel objet on parle ici ?


    merci

  11. #11
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Et bien : il faut d'abord savoir sur quelle ligne ça plante.

    J'espère que tu as (déjà ??) lu l'excellent tuto de cafeine...

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut Gestion de photos par formulaire
    Bonjour à tous,

    J'essai d'ajuster l'exemple de Caféine pour la gestion de photo depuis deux jours et j'en arrive avec un message d'erreur

    "erreur inatendue 438
    Propriété ou méthode non gérée par cet objet"

    Voici l'ensemble de 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
    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
    Private Sub Form_Current()
    ' 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 salarié 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_fichier) > 0 Then
        Me.Caption = "Détails pour le salarié : " & Me.Nom_fichier
    Else
        Me.Caption = "Saisie d'un nouveau salarié"
    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.Imgphoto) > 0 Then
        Me.Imgphoto.Picture = Me.Imgphoto
    Else
        Me.Imgphoto.Picture = CurrentProject.Path & "\icone\Sans titre.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 supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos"
            Me.Imgphoto.Picture = CurrentProject.Path & "\icone\Sans titre.jpg"
            Me.Imgphoto = 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.Imgphoto, vbCritical + vbOKOnly, "Application Photos"
            Me.Imgphoto.Picture = CurrentProject.Path & "\icone\Sans titre.jpg"
            Me.Imgphoto = 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 controle Picture
    If Me.Imgphoto.ImageHeight > Me.Imgphoto.Height Then
        ' met le controle 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
    Private Sub cmdDelete_Click()
    ' Bouton de commande d'effacement de la photo
     
    ' supprime l'adresse de la photo
    Me.Imgphoto = vbNullString
     
    ' affiche l'image blank.jpg
    Me.Imgphoto.Picture = CurrentProject.Path & "\icone\sans titre.jpg"
     
    ' redimensionne la photo
    DisplayPhoto
     
    End Sub
     
    Private Sub cmdPhoto_Click()
    ' Bouton d'ajout - modification de photo
    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 salarié " & Me.NomFichier, _
                             1)
     
    ' si la boite renvoie une adresse non nulle
    If Len(strLink) > 0 Then
        ' tentative d'affichage de la photo
        Me.Imgphoto.Picture = strLink
        Me.Imgphoto = strLink
    End If
     
    DisplayPhoto
    Exit Sub
     
    Catch01:
    Select Case Err.Number
        Case 2114
            'Cas d'un type de fichier photo non supporté ...
            '  on sort de la procédure
            MsgBox "Le format de l'image n'est supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos"
            Exit Sub
        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.Imgphoto, vbCritical + vbOKOnly, "Application Photos"
            Exit Sub
        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
    Merci de votre aide

  13. #13
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Là comme ça.. je pense que c'est sur la ligne heu....
    Non ??

    Ou alors sur celle-ci :
    Sans rire : si tu ne nous dis pas exactement ce qui ne va pas : on ne va pas pouvoir le deviner.

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut Erreur 35
    Bonjour à tous,

    Bon aujourd'hui j'essai de représenter le plus fidelement possible l'exemple de caféine, c'est un peu mieux, je n'ai plus de messages d'erreurs à l'ouverture du formulaire.

    Quand je demande d'ajouter une photo; paf, pif, vlan, clac ...erreur de compilation à la ligne "strLink = OuvrirUnFichier(Me.Hwnd, "Sélectionner une photo pour le salarié " & Me.Nom, _1)" avec Nom en bleu

    que ce passe t'il ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub cmdPhoto_Click()
    ' Bouton d'ajout - modification de photo
    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 salarié " & Me.Nom, _
                             1)
     
    ' si la boite renvoie une adresse non nulle
    merci beaucoup

  15. #15
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Hello !

    Voici un exemple (qui fonctionne) d'une partie de cette fonction, dont tu pourrais éventuellement t'inspirer ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me!Accès1 = OuvrirUnFichier(Me.hwnd, "Sélectionner le fichier ...", 1, "Fichier Access", "mdb")
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  16. #16
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut Bonjour Bernard
    Excuse mon ignorance mais...

    Accès1 je remplace ça par quoi ?

    merci

  17. #17
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,
    Citation Envoyé par Mario Rousson Voir le message
    Bonjour à tous,

    Bon aujourd'hui j'essai de représenter le plus fidelement possible l'exemple de caféine, c'est un peu mieux, je n'ai plus de messages d'erreurs à l'ouverture du formulaire.

    Quand je demande d'ajouter une photo; paf, pif, vlan, clac ...erreur de compilation à la ligne "strLink = OuvrirUnFichier(Me.Hwnd, "Sélectionner une photo pour le salarié " & Me.Nom, _1)" avec Nom en bleu

    que ce passe t'il ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub cmdPhoto_Click()
    ' Bouton d'ajout - modification de photo
    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 salarié " & Me.Nom, _
                             1)
     
    ' si la boite renvoie une adresse non nulle
    merci beaucoup
    Dans ton code, le champ dans lequel tu stocke le nom du salarié est Nom_fichier si tu n'as pas modifié le nom du champ lors de l'adaptation du code de cafeine.


  18. #18
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut Nouvelle BD de pratique
    bonjour

    Bon aujourd'hui j'essai de représenter le plus fidelement possible l'exemple de caféine, c'est un peu mieux, je n'ai plus de messages d'erreurs à l'ouverture du formulaire.
    Donc, c'est une nouvelle BD avec les mêmes noms de champs que ceux de Caféine, je reviendrai à ma BD original après avoir réussi l'exemple. Quant je clic sur ajouter une photo j'ai un msgbox qui dit ;

    Erreur de compilation
    Sub ou fonction non définie

    Voici mon code d'exemple de Caféine

    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
    Private Sub Form_Current()
    ' 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 salarié 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 salarié : " & Me.Nom & " - " & Me.Prénom
    Else
        Me.Caption = "Saisie d'un nouveau salarié"
    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 supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos"
            Me.ImgPhoto.Picture = CurrentProject.Path & "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 & "\image\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 controle Picture
    If Me.ImgPhoto.ImageHeight > Me.ImgPhoto.Height Then
        ' met le controle 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
    Private Sub cmdDelete_Click()
    ' Bouton de commande d'effacement de la photo
     
    ' supprime l'adresse de la photo
    Me.Photo = vbNullString
     
    ' affiche l'image blank.jpg
    Me.ImgPhoto.Picture = CurrentProject.Path & "\images\blank.jpg"
     
    ' redimensionne la photo
    DisplayPhoto
     
    End Sub
     
    Private Sub cmdPhoto_Click()
    ' Bouton d'ajout - modification de photo
    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 salarié " & Me.Nom, _
                             1)
     
    ' si la boite renvoie une adresse non nulle
    If Len(strLink) > 0 Then
        ' tentative d'affichage de la photo
        Me.ImgPhoto.Picture = strLink
        Me.Photo = strLink
    End If
     
    DisplayPhoto
    Exit Sub
     
    Catch01:
    Select Case Err.Number
        Case 2114
            'Cas d'un type de fichier photo non supporté ...
            '  on sort de la procédure
            MsgBox "Le format de l'image n'est supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos"
            Exit Sub
        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"
            Exit Sub
        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
    Merci de votre soutiens

  19. #19
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut jai corrigé quelques erreurs
    Rebonjour

    Pourquoi qu'au début du code dans le Private Sub Form_Current() Le terme de me.nom est bien géré et que dans le Private Sub cmdPhoto_Click() il me donne un message d'erreur

    Erreur de compilation
    Sub ou fonction non définie

  20. #20
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    As-tu essayé de supprimer ce "Me.Nom" pour faire tourner ton code ?
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. insertion de photo ne marche pas
    Par Stéph utilisateur d'acces dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 19/12/2008, 21h06
  2. insertion de photos dans une bdd access
    Par nboubeur dans le forum ASP
    Réponses: 5
    Dernier message: 25/08/2008, 16h14
  3. [DW8] Problème d'insertion de photo dans colonne
    Par aloes dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 24/03/2008, 23h55
  4. Réponses: 1
    Dernier message: 07/10/2006, 10h35
  5. (access 2002) insertion de photos dans un état
    Par geuneuille dans le forum IHM
    Réponses: 2
    Dernier message: 22/08/2006, 15h09

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