OVH Cloud OVH Cloud

Mise en forme champ mémo.

20 réponses
Avatar
Sogolon
Bonjour à toutes et à tous.
Grace à vous je progresse dans mon apprentissage d'access, merci.
Voila dans mon appli j'ai des lettres à envoyer. Celles-ci pouvant parfois
être très longues j'ai pensé au champ mémo, et c'est très bien.
Malheureusement, quand j'ai des portions de texte à mettre en gras ,
italique ou couleur (comme dans word) c'est là que ça se gatte car la mise en
forme est appliquée au champ entier.
Bonne journée à toutes et à tous.
Merci
A+...

10 réponses

1 2
Avatar
Sogolon
Merci. J'avance assez bien.
Après modifications j'ai maintenant mon document généré et le chemin copié
automatiquement dans le champ docfichier.
J'ai créé un autre bouton CmdOpenfile pour ouvrir le fichier mais j'ai un
problème
que je vais éssayer de résoudre par moi-même d'abord.
Je (vous) recontacte la communauté si je m'en sors pas.
Encore merci "LiR"
Salut à toutes et à tous.
A+...



Il me semble qu'il ne manque pas grand chose.
Disons que le champ (ou le contrôle peu importe) qui contient le chemin du
fichier s'appelle ChampFichier.

1- Après avoir créé le fichier word, il suffit de stocker le nom du fichier
en le plaçant dans le champ (ou le contrôle, peu importe) :

Private Sub CmdCreateFile_Click()

'[...]
DocFichier = strCurrAppDir & "docs" & Me![Reference] & " " & Me![Prénom]
& " "
& Me![Nom]) & ".doc"

'[... Création du fichier Word]

' ICI :
Me.ChampFichier = DocFichier

End Sub


2- Pour ouvrir le fichier existant à partir du chemin stocké, il suffit de
créer le bouton CmdOpenFile et dans l'événement Sur Clic :

Private Sub CmdOpenFile_Click()

Dim DocFichier As String
On Error GoTo Err

'ICI :
DocFichier = "" & Me.ChampFichier

' On vérifie juste que le fichier est bien défini :
If len(DocFichier) = 0 Then
Msgbox "Le Chemin du fichier n'est pas défini.", vbInformation
exit Sub
End If

' Ouvre le fichier :
Shell DocFichier , vbMaximizedFocus

Exit Sub

' Gestion echec d'ouverture :
Err:
MsgBox "Erreur de l'ouverture du fichier :" & VbCrlf & DocFichier,
vbExclamation

End Sub

Je pense que vous pouvez mettre ça en place facilement (si j'ai bien compris
le problème)




Avatar
J-Pierre
Bonsoir,

Il me semble que vous êtes en train de réinventer la roue, si tu as des lettres à envoyer, utilise le publipostage. Tu
trouveras tout ce dont tu as besoin sur les sites de 3Stone et de Raymond.

Va voir http://www.mpfa.info tu auras tous les liens nécessaires

J-Pierre
Avatar
Sogolon
Salut la communauté.
Merci "J-Pierre".
Je connais déjà ces sites qui m'ont beaucoup apporté. Mais je vais revoir ce
que vous dites sur le publipoqtage.
Salut à toutes et à tous.
Bonne journée
A+...



Bonsoir,

Il me semble que vous êtes en train de réinventer la roue, si tu as des lettres à envoyer, utilise le publipostage. Tu
trouveras tout ce dont tu as besoin sur les sites de 3Stone et de Raymond.

Va voir http://www.mpfa.info tu auras tous les liens nécessaires

J-Pierre





Avatar
Sogolon
Salut la communauté.
Par automation je crée mes nouveaux documents et le chemin vers ces docs
sont bien stockés dans mon champ DocFichier. Bien, seulement voilà:
Avec l'aide de "Lir" j'essai d'ouvrir les docs par un bouton de commande sur
mon formulaire avec le code ci-après:
-------------------------------------------------
Private Sub CmdOpenFile_Click()
Dim DocFichier As String
On Error GoTo Err

'ICI :
DocFichier = strCurrAppDir & "docs" & Me![Reference] & " " & Me![Nom] & "
" & Me![Prènom] & ".doc"

' On vérifie juste que le fichier est bien défini :
If Len(DocFichier) = 0 Then
MsgBox "Le Chemin du fichier n'est pas défini.", vbInformation
Exit Sub
End If

' Ouvre le fichier :
Shell DocFichier, vbMaximizedFocus

Exit Sub

' Gestion echec d'ouverture :
Err:
MsgBox "Erreur de l'ouverture du fichier :" & vbCrLf & DocFichier,
vbExclamation

End Sub
-----------------------------------------------------------------------
Quand je clique sur mon bouton, j'ai l'erreur suivante:
Erreur de l'ouverture du fichier :
docsReference Nom Prénom.doc
Merci de votre aide.
Bien des choses à toutes et à tous.
A+...
Avatar
LiR
Mais c'était avant de savoir que vous aviez un champ pour stocker le chemin
(complet) du fichier.

J'avais donné ce code par la suite :

Private Sub CmdOpenFile_Click()

Dim DocFichier As String
On Error GoTo Err

'ICI :
DocFichier = "" & Me.ChampFichier

' On vérifie juste que le fichier est bien défini :
If len(DocFichier) = 0 Then
Msgbox "Le Chemin du fichier n'est pas défini.", vbInformation
exit Sub
End If

' Ouvre le fichier :
Shell DocFichier , vbMaximizedFocus

Exit Sub

' Gestion echec d'ouverture :
Err:
MsgBox "Erreur de l'ouverture du fichier :" & VbCrlf & DocFichier,
vbExclamation

End Sub

Il faut juste faire attention à la ligne :

Me.ChampFichier

En remplaçant ChampFichier par le nom de votre champ ou de votre zone de
texte.

Et ça devrait fonctionner.




Salut la communauté.
Par automation je crée mes nouveaux documents et le chemin vers ces docs
sont bien stockés dans mon champ DocFichier. Bien, seulement voilà:
Avec l'aide de "Lir" j'essai d'ouvrir les docs par un bouton de commande sur
mon formulaire avec le code ci-après:
-------------------------------------------------
Private Sub CmdOpenFile_Click()
Dim DocFichier As String
On Error GoTo Err

'ICI :
DocFichier = strCurrAppDir & "docs" & Me![Reference] & " " & Me![Nom] & "
" & Me![Prènom] & ".doc"

' On vérifie juste que le fichier est bien défini :
If Len(DocFichier) = 0 Then
MsgBox "Le Chemin du fichier n'est pas défini.", vbInformation
Exit Sub
End If

' Ouvre le fichier :
Shell DocFichier, vbMaximizedFocus

Exit Sub

' Gestion echec d'ouverture :
Err:
MsgBox "Erreur de l'ouverture du fichier :" & vbCrLf & DocFichier,
vbExclamation

End Sub
-----------------------------------------------------------------------
Quand je clique sur mon bouton, j'ai l'erreur suivante:
Erreur de l'ouverture du fichier :
docsReference Nom Prénom.doc
Merci de votre aide.
Bien des choses à toutes et à tous.
A+...


Avatar
Sogolon
Merci c'est ce que j'ai fais.
Le champ contenant le chemin s'appelle DocFichier.(Contenu dansma table
Document).
L'erreur est toujours là.


Mais c'était avant de savoir que vous aviez un champ pour stocker le chemin
(complet) du fichier.

J'avais donné ce code par la suite :

Private Sub CmdOpenFile_Click()

Dim DocFichier As String
On Error GoTo Err

'ICI :
DocFichier = "" & Me.ChampFichier

' On vérifie juste que le fichier est bien défini :
If len(DocFichier) = 0 Then
Msgbox "Le Chemin du fichier n'est pas défini.", vbInformation
exit Sub
End If

' Ouvre le fichier :
Shell DocFichier , vbMaximizedFocus

Exit Sub

' Gestion echec d'ouverture :
Err:
MsgBox "Erreur de l'ouverture du fichier :" & VbCrlf & DocFichier,
vbExclamation

End Sub

Il faut juste faire attention à la ligne :

Me.ChampFichier

En remplaçant ChampFichier par le nom de votre champ ou de votre zone de
texte.

Et ça devrait fonctionner.




Salut la communauté.
Par automation je crée mes nouveaux documents et le chemin vers ces docs
sont bien stockés dans mon champ DocFichier. Bien, seulement voilà:
Avec l'aide de "Lir" j'essai d'ouvrir les docs par un bouton de commande sur
mon formulaire avec le code ci-après:
-------------------------------------------------
Private Sub CmdOpenFile_Click()
Dim DocFichier As String
On Error GoTo Err

'ICI :
DocFichier = strCurrAppDir & "docs" & Me![Reference] & " " & Me![Nom] & "
" & Me![Prènom] & ".doc"

' On vérifie juste que le fichier est bien défini :
If Len(DocFichier) = 0 Then
MsgBox "Le Chemin du fichier n'est pas défini.", vbInformation
Exit Sub
End If

' Ouvre le fichier :
Shell DocFichier, vbMaximizedFocus

Exit Sub

' Gestion echec d'ouverture :
Err:
MsgBox "Erreur de l'ouverture du fichier :" & vbCrLf & DocFichier,
vbExclamation

End Sub
-----------------------------------------------------------------------
Quand je clique sur mon bouton, j'ai l'erreur suivante:
Erreur de l'ouverture du fichier :
docsReference Nom Prénom.doc
Merci de votre aide.
Bien des choses à toutes et à tous.
A+...




Avatar
LiR
Alors il faut vérifier que le champ DocFichier contient bien le chamin
complet du fichier.
Est-ce le cas?
Le message d'erreur est-il le même qu'avant?


Merci c'est ce que j'ai fais.
Le champ contenant le chemin s'appelle DocFichier.(Contenu dansma table
Document).
L'erreur est toujours là.


Mais c'était avant de savoir que vous aviez un champ pour stocker le chemin
(complet) du fichier.

J'avais donné ce code par la suite :

Private Sub CmdOpenFile_Click()

Dim DocFichier As String
On Error GoTo Err

'ICI :
DocFichier = "" & Me.ChampFichier

' On vérifie juste que le fichier est bien défini :
If len(DocFichier) = 0 Then
Msgbox "Le Chemin du fichier n'est pas défini.", vbInformation
exit Sub
End If

' Ouvre le fichier :
Shell DocFichier , vbMaximizedFocus

Exit Sub

' Gestion echec d'ouverture :
Err:
MsgBox "Erreur de l'ouverture du fichier :" & VbCrlf & DocFichier,
vbExclamation

End Sub

Il faut juste faire attention à la ligne :

Me.ChampFichier

En remplaçant ChampFichier par le nom de votre champ ou de votre zone de
texte.

Et ça devrait fonctionner.




Salut la communauté.
Par automation je crée mes nouveaux documents et le chemin vers ces docs
sont bien stockés dans mon champ DocFichier. Bien, seulement voilà:
Avec l'aide de "Lir" j'essai d'ouvrir les docs par un bouton de commande sur
mon formulaire avec le code ci-après:
-------------------------------------------------
Private Sub CmdOpenFile_Click()
Dim DocFichier As String
On Error GoTo Err

'ICI :
DocFichier = strCurrAppDir & "docs" & Me![Reference] & " " & Me![Nom] & "
" & Me![Prènom] & ".doc"

' On vérifie juste que le fichier est bien défini :
If Len(DocFichier) = 0 Then
MsgBox "Le Chemin du fichier n'est pas défini.", vbInformation
Exit Sub
End If

' Ouvre le fichier :
Shell DocFichier, vbMaximizedFocus

Exit Sub

' Gestion echec d'ouverture :
Err:
MsgBox "Erreur de l'ouverture du fichier :" & vbCrLf & DocFichier,
vbExclamation

End Sub
-----------------------------------------------------------------------
Quand je clique sur mon bouton, j'ai l'erreur suivante:
Erreur de l'ouverture du fichier :
docsReference Nom Prénom.doc
Merci de votre aide.
Bien des choses à toutes et à tous.
A+...






Avatar
Sogolon
Oui , après création du fichier j'ai le chemin complet dans le champ
DocFichier:
serveurdocsL69 René CAMPO.doc.
Si je vous suis bien, quand vous dites:
Il faut juste faire attention à la ligne :

Me.ChampFichier

En remplaçant ChampFichier par le nom de votre champ ou de votre zone de
texte.

Et ça devrait fonctionner




Je dois mettre dans le code à la place de :

'ICI :
DocFichier = strCurrAppDir & "docs" & Me![Reference] & " " & Me![Nom] & " " & Me![Prènom] & ".doc"





Ceci: DocFichier="" & Me.DocFichier?
C'est ça?
Je crois que non car en le faisant j'ai toujours l'Erreur:
"Erreur sur l'ouverture du fichier:
ServeurdocsL69 René CAMPO.doc"
Après un clic sur le bouton OpenFile.


---------------------------------------

Alors il faut vérifier que le champ DocFichier contient bien le chamin
complet du fichier.
Est-ce le cas?
Le message d'erreur est-il le même qu'avant?


Merci c'est ce que j'ai fais.
Le champ contenant le chemin s'appelle DocFichier.(Contenu dansma table
Document).
L'erreur est toujours là.


Mais c'était avant de savoir que vous aviez un champ pour stocker le chemin
(complet) du fichier.

J'avais donné ce code par la suite :

Private Sub CmdOpenFile_Click()

Dim DocFichier As String
On Error GoTo Err

'ICI :
DocFichier = "" & Me.ChampFichier

' On vérifie juste que le fichier est bien défini :
If len(DocFichier) = 0 Then
Msgbox "Le Chemin du fichier n'est pas défini.", vbInformation
exit Sub
End If

' Ouvre le fichier :
Shell DocFichier , vbMaximizedFocus

Exit Sub

' Gestion echec d'ouverture :
Err:
MsgBox "Erreur de l'ouverture du fichier :" & VbCrlf & DocFichier,
vbExclamation

End Sub

Il faut juste faire attention à la ligne :

Me.ChampFichier

En remplaçant ChampFichier par le nom de votre champ ou de votre zone de
texte.

Et ça devrait fonctionner.




Salut la communauté.
Par automation je crée mes nouveaux documents et le chemin vers ces docs
sont bien stockés dans mon champ DocFichier. Bien, seulement voilà:
Avec l'aide de "Lir" j'essai d'ouvrir les docs par un bouton de commande sur
mon formulaire avec le code ci-après:
-------------------------------------------------
Private Sub CmdOpenFile_Click()
Dim DocFichier As String
On Error GoTo Err

'ICI :
DocFichier = strCurrAppDir & "docs" & Me![Reference] & " " & Me![Nom] & "
" & Me![Prènom] & ".doc"

' On vérifie juste que le fichier est bien défini :
If Len(DocFichier) = 0 Then
MsgBox "Le Chemin du fichier n'est pas défini.", vbInformation
Exit Sub
End If

' Ouvre le fichier :
Shell DocFichier, vbMaximizedFocus

Exit Sub

' Gestion echec d'ouverture :
Err:
MsgBox "Erreur de l'ouverture du fichier :" & vbCrLf & DocFichier,
vbExclamation

End Sub
-----------------------------------------------------------------------
Quand je clique sur mon bouton, j'ai l'erreur suivante:
Erreur de l'ouverture du fichier :
docsReference Nom Prénom.doc
Merci de votre aide.
Bien des choses à toutes et à tous.
A+...








Avatar
LiR
Autant pour moi + mea culpa!
J'avais oublié que la fonction Shell de VBA est une blague (elle ne sert à
rien ou presque).

Il faut utiliser la vraie fonction Shellexecute de l'API Windows comme suit :

1. Au niveau module du Formulaire, déclarer comme suit :

Private Declare Function ShellExecute Lib "shell32" Alias "ShellExecuteA"
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String,
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As
Long) As Long

2. Le code est alors :

Private Sub CmdOpenFile_Click()

Const SW_SHOWNORMAL = 1

Dim DocFichier As String

DocFichier = "" & Me.ChampFichier

' On vérifie juste que le fichier est bien défini :
If len(DocFichier) = 0 Then
Msgbox "Le Chemin du fichier n'est pas défini.", vbInformation
exit Sub
End If

' Ouvre le fichier :

If ShellExecute (Me.hwnd, "OPEN", DocFichier , vbNullString, vbNullString,
SW_SHOWNORMAL) <= 32 Then
MsgBox "Erreur de l'ouverture du fichier :" & VbCrlf & DocFichier,
vbExclamation
End If

End Sub

A noter que ShellExecute renvpie une valeur supérieure à 32 si elle réussit.

Les informations reltives à la fonction ShellExecute sont disponibles dans
la MSDN :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp

Je pense qu'avec cela ça fonctionne (c'est en fait le code que j'utilise
moi-même depuis des années!)
Avatar
Sogolon
Ouf ça a été laborieux mais c'est finalement Ok.
Après une modification de:
Private Declare Function ShellExecute Lib "shell32" Alias "ShellExecuteA"
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String,
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As
Long) As Long


Par:

Private Declare Function ShellExecute Lib "shell32" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _
As String, ByVal lpFile As String, ByVal lpParameters _
As String, ByVal lpDirectory As String, ByVal nShowCmd _
As Long) As Long

Merci et bravo à "LiR" de votre aide et votre patience.
Salut à toutes et à tous.
A+...


Autant pour moi + mea culpa!
J'avais oublié que la fonction Shell de VBA est une blague (elle ne sert à
rien ou presque).

Il faut utiliser la vraie fonction Shellexecute de l'API Windows comme suit :

1. Au niveau module du Formulaire, déclarer comme suit :

Private Declare Function ShellExecute Lib "shell32" Alias "ShellExecuteA"
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String,
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As
Long) As Long

2. Le code est alors :

Private Sub CmdOpenFile_Click()

Const SW_SHOWNORMAL = 1

Dim DocFichier As String

DocFichier = "" & Me.ChampFichier

' On vérifie juste que le fichier est bien défini :
If len(DocFichier) = 0 Then
Msgbox "Le Chemin du fichier n'est pas défini.", vbInformation
exit Sub
End If

' Ouvre le fichier :

If ShellExecute (Me.hwnd, "OPEN", DocFichier , vbNullString, vbNullString,
SW_SHOWNORMAL) <= 32 Then
MsgBox "Erreur de l'ouverture du fichier :" & VbCrlf & DocFichier,
vbExclamation
End If

End Sub

A noter que ShellExecute renvpie une valeur supérieure à 32 si elle réussit.

Les informations reltives à la fonction ShellExecute sont disponibles dans
la MSDN :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp

Je pense qu'avec cela ça fonctionne (c'est en fait le code que j'utilise
moi-même depuis des années!)




1 2