Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/01/2012, 16h38   #1
Invité régulier
 
Inscription : décembre 2007
Messages : 20
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 20
Points : 7
Points : 7
Par défaut Enregistrer sous selon un champ

Bonjour,

Sur un formulaire
j'ai un champ Nom de type texte
Un champ Prénom de type texte
Un champ NomPrénom de type texte qui est le résultat de [Nom]&[Prénom]
Et un cadre image

En utilisant le tutoriel sur la gestion des images a l'extérieur de la base pour ne pas la surchargée et un tutoriel pour ouvrir paint automatiquement voici ce que j'obtiens

J'ai l'ouverture automatique de mon fichier paint de base (une image générique qui est sur le cadre image) que je souhaite modifier et l'enregistrer sous le nom résultat du champ [NomPrenom]

J'ai placé ce code sur un bouton que j'ai trouvé également sur les tutoriels

Code :
1
2
3
Private Sub imgPhoto_DblClick(Cancel As Integer)
MsgBox EnregistrerUnFichier(Me.hWnd, "Enrégistrer sous", [NomPrénom], "E:\tutophotos\")
End Sub
Avec le code qui va avec dans un module

Code :
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
'Déclaration de l API
Private Declare Function GetSaveFileName Lib "comdlg32.dll" _
        Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) _
        As Long
 
 'Structure du fichier
Private Type OPENFILENAME
  lStructSize As Long
  hWndOwner As Long
  hInstance As Long
  lpstrFilter As String
  lpstrCustomFilter As String
  nMaxCustFilter As Long
  nFilterIndex As Long
  lpstrFile As String
  nMaxFile As Long
  lpstrFileTitle As String
  nMaxFileTitle As Long
  lpstrInitialDir As String
  lpstrTitle As String
  Flags As Long
  nFileOffset As Integer
  nFileExtension As Integer
  lpstrDefExt As String
  lCustData As Long
  lpfnHook As Long
  lpTemplateName As String
End Type
 
 
Function EnregistrerUnFichier(Handle As Long, Titre As String, _
                    NomFichier As String, Chemin As String) As String
 
 'EnregistrerUnFichier est la fonction a utiliser dans votre formulaire pour ouvrir _
la boîte de dialogue d'enregistrement d'un fichier.
 'Explication des paramètres
    'Handle = le handle de la fenêtre (Me.Hwnd)
    'Titre = Titre de la boîte de dialogue
    'NomFichier = Nom par défaut du fichier à enregistrer
    'Chemin = Chemin par défaut du fichier à enregistrer
 
Dim structSave As OPENFILENAME
 
With structSave
    .lStructSize = Len(structSave)
    .hWndOwner = Handle
    .nMaxFile = 255
    .lpstrFile = NomFichier & String$(255 - Len(NomFichier), 0)
    .lpstrInitialDir = Chemin
    .lpstrFilter = "Tous (*.*)" & Chr$(0) & "*.*" & Chr$(0) 'Définition du filtre (aucun)
    .Flags = &H4  'Option de la boite de dialogue
End With
 
If (GetSaveFileName(structSave)) Then
    EnregistrerUnFichier = Mid$(structSave.lpstrFile, 1, InStr(1, structSave.lpstrFile, vbNullChar) - 1)
End If
J'ai une fenetre qui s'ouvre enregistrer sous avec le bon champ [NomPrénom] et au bon emplacement dans l'arborescence mais quand je clic sur enregistrer
Il n'enregistre pas mon fichier paint modifié.
Quelqu'un a une idée? Merci d'avance
73brunette73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 22h18   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 479
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 479
Points : 7 568
Points : 7 568
Si tu as ouvert paint, il faudrait prendre le contrôle de Paint pour déclencher l'enregistrement dans Paint.

Je n'ai aucune idée comme ce serait possible mais c'est la solution.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h43.


 
 
 
 
Partenaires

Hébergement Web