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
LiR
Bonjour,

A mes yeux, c'est une fonctionnalité délicate à mettre en oeuvre.
Tout dépend de la manière dont tu veux modifier, afficher, publier, imprimer
tes lettres.

Il y aurait une possibilité en utilisant un contrôle "Microsoft Rich Textbox
Control" - sous réserve de sa disponibilité sur la machine, auquel cas le
code RTF (texte et sa MISE EN FORME) sera stocké dans le champ mémo. En
contrepartie, il faudra gérer l'utilisation du contrôle et la mise en forme
de son contenu (ce qui n'est pas trivial!).

Le plus simple ne serait-il pas de stocker dans un champ simplement un lien
(hypertexte ou manuel) vers des fichier word (par exemple)?



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+...


Avatar
Sogolon
Merci de votre réponse.
J'ai pensé à certaines de vos propositions. Par automation je peux générer
un nouveau document word renommé comme ceci:

Début ode.....
.ActiveDocument.SaveAs (strCurrAppDir & "docs" & [Reference] & " " &
[Prénom] & " " & [Nom]) & ".doc"
End With
.....Fin code
Ainsi un nouveau doc word est créer et nommé "L68 Michel Campo.doc"
ça ce passe plutôt bien.
Cependant comment récupérer le chemin dans un champ hyperlink ou mieux texte
afin de pouvoir ouvrir ce fichier ultérieurement par simple clic?
Merci à vous,à toutes et à tous.
A+...


Bonjour,

A mes yeux, c'est une fonctionnalité délicate à mettre en oeuvre.
Tout dépend de la manière dont tu veux modifier, afficher, publier, imprimer
tes lettres.

Il y aurait une possibilité en utilisant un contrôle "Microsoft Rich Textbox
Control" - sous réserve de sa disponibilité sur la machine, auquel cas le
code RTF (texte et sa MISE EN FORME) sera stocké dans le champ mémo. En
contrepartie, il faudra gérer l'utilisation du contrôle et la mise en forme
de son contenu (ce qui n'est pas trivial!).

Le plus simple ne serait-il pas de stocker dans un champ simplement un lien
(hypertexte ou manuel) vers des fichier word (par exemple)?



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+...




Avatar
LiR
Et bien, je pense que tu peux récupérer l'emplacement du fichier de la même
manière que tu le fais déjà :
strCurrAppDir & "docs" & [Reference] & " " & [Prénom] & " " & [Nom]) &
".doc"

J'imagine que [Reference], [Prénom] et [Nom] sont des champs, non?

Ensuite, tu utilise ce chemin pour ouvrir le fichier, avec Shell par exemple



Merci de votre réponse.
J'ai pensé à certaines de vos propositions. Par automation je peux générer
un nouveau document word renommé comme ceci:

Début ode.....
.ActiveDocument.SaveAs (strCurrAppDir & "docs" & [Reference] & " " &
[Prénom] & " " & [Nom]) & ".doc"
End With
.....Fin code
Ainsi un nouveau doc word est créer et nommé "L68 Michel Campo.doc"
ça ce passe plutôt bien.
Cependant comment récupérer le chemin dans un champ hyperlink ou mieux texte
afin de pouvoir ouvrir ce fichier ultérieurement par simple clic?
Merci à vous,à toutes et à tous.
A+...


Bonjour,

A mes yeux, c'est une fonctionnalité délicate à mettre en oeuvre.
Tout dépend de la manière dont tu veux modifier, afficher, publier, imprimer
tes lettres.

Il y aurait une possibilité en utilisant un contrôle "Microsoft Rich Textbox
Control" - sous réserve de sa disponibilité sur la machine, auquel cas le
code RTF (texte et sa MISE EN FORME) sera stocké dans le champ mémo. En
contrepartie, il faudra gérer l'utilisation du contrôle et la mise en forme
de son contenu (ce qui n'est pas trivial!).

Le plus simple ne serait-il pas de stocker dans un champ simplement un lien
(hypertexte ou manuel) vers des fichier word (par exemple)?



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+...






Avatar
Sogolon
Merci encore.
j'ai débuté avec access il y'a peu de temps. je suis encore novice.
Vous voudrez bien m'expliquer la solution par Shell?
Merci encore à vous à toutes et à tous.
A+...


Et bien, je pense que tu peux récupérer l'emplacement du fichier de la même
manière que tu le fais déjà :
strCurrAppDir & "docs" & [Reference] & " " & [Prénom] & " " & [Nom]) &
".doc"

J'imagine que [Reference], [Prénom] et [Nom] sont des champs, non?

Ensuite, tu utilise ce chemin pour ouvrir le fichier, avec Shell par exemple



Merci de votre réponse.
J'ai pensé à certaines de vos propositions. Par automation je peux générer
un nouveau document word renommé comme ceci:

Début ode.....
.ActiveDocument.SaveAs (strCurrAppDir & "docs" & [Reference] & " " &
[Prénom] & " " & [Nom]) & ".doc"
End With
.....Fin code
Ainsi un nouveau doc word est créer et nommé "L68 Michel Campo.doc"
ça ce passe plutôt bien.
Cependant comment récupérer le chemin dans un champ hyperlink ou mieux texte
afin de pouvoir ouvrir ce fichier ultérieurement par simple clic?
Merci à vous,à toutes et à tous.
A+...


Bonjour,

A mes yeux, c'est une fonctionnalité délicate à mettre en oeuvre.
Tout dépend de la manière dont tu veux modifier, afficher, publier, imprimer
tes lettres.

Il y aurait une possibilité en utilisant un contrôle "Microsoft Rich Textbox
Control" - sous réserve de sa disponibilité sur la machine, auquel cas le
code RTF (texte et sa MISE EN FORME) sera stocké dans le champ mémo. En
contrepartie, il faudra gérer l'utilisation du contrôle et la mise en forme
de son contenu (ce qui n'est pas trivial!).

Le plus simple ne serait-il pas de stocker dans un champ simplement un lien
(hypertexte ou manuel) vers des fichier word (par exemple)?



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+...








Avatar
LiR
Shell est juste une fonction qui permet d'ouvrir un fichier,

Elle est définie comme suit.

Function Shell(PathName, [WindowStyle As VbAppWinStyle = vbMinimizedFocus])
As Double


Dans l'aide de VBA vous trouverez aisément comment l'utiliser, par exemple :

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

' Ouvre le fichier :
Shell DocFichier , vbMaximizedFocus




Merci encore.
j'ai débuté avec access il y'a peu de temps. je suis encore novice.
Vous voudrez bien m'expliquer la solution par Shell?
Merci encore à vous à toutes et à tous.
A+...


Et bien, je pense que tu peux récupérer l'emplacement du fichier de la même
manière que tu le fais déjà :
strCurrAppDir & "docs" & [Reference] & " " & [Prénom] & " " & [Nom]) &
".doc"

J'imagine que [Reference], [Prénom] et [Nom] sont des champs, non?

Ensuite, tu utilise ce chemin pour ouvrir le fichier, avec Shell par exemple



Merci de votre réponse.
J'ai pensé à certaines de vos propositions. Par automation je peux générer
un nouveau document word renommé comme ceci:

Début ode.....
.ActiveDocument.SaveAs (strCurrAppDir & "docs" & [Reference] & " " &
[Prénom] & " " & [Nom]) & ".doc"
End With
.....Fin code
Ainsi un nouveau doc word est créer et nommé "L68 Michel Campo.doc"
ça ce passe plutôt bien.
Cependant comment récupérer le chemin dans un champ hyperlink ou mieux texte
afin de pouvoir ouvrir ce fichier ultérieurement par simple clic?
Merci à vous,à toutes et à tous.
A+...


Bonjour,

A mes yeux, c'est une fonctionnalité délicate à mettre en oeuvre.
Tout dépend de la manière dont tu veux modifier, afficher, publier, imprimer
tes lettres.

Il y aurait une possibilité en utilisant un contrôle "Microsoft Rich Textbox
Control" - sous réserve de sa disponibilité sur la machine, auquel cas le
code RTF (texte et sa MISE EN FORME) sera stocké dans le champ mémo. En
contrepartie, il faudra gérer l'utilisation du contrôle et la mise en forme
de son contenu (ce qui n'est pas trivial!).

Le plus simple ne serait-il pas de stocker dans un champ simplement un lien
(hypertexte ou manuel) vers des fichier word (par exemple)?



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+...










Avatar
Sogolon
Merci encore.
Pouvez-vous m'indiquer, s'il vous plait, où mettre ce code ( dans quel
évenement de mon champ document qui contiendrai le chemin du fichier).
Comme je l'ai dit plus haut je suis débutante et pas très à l'aise encore
avec VBA.
Encore merci à vous, àtoutes et à tous.
A+...


Shell est juste une fonction qui permet d'ouvrir un fichier,

Elle est définie comme suit.

Function Shell(PathName, [WindowStyle As VbAppWinStyle = vbMinimizedFocus])
As Double


Dans l'aide de VBA vous trouverez aisément comment l'utiliser, par exemple :

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

' Ouvre le fichier :
Shell DocFichier , vbMaximizedFocus



Avatar
LiR
Où mettre le code, c'est un autre problème...
Tout dépend à quel moment et comment les fichiers doivent s'ouvrir...

De ce que j'ai compris, vous avez déjà un formulaire avec des champs
[Reference], [Prénom] et [Nom], à partir desquels vous créez le nom du
fichier.

Vous pouvez faire un bouton "Creer (le fichier)" et dans l'événement "Sur
Clic" de ce bouton vous placez le code que vous aviez pour générer le fichier.

Puis de la même manière un bouton "Ouvrir" et dans l'événement "Sur Clic" de
ce bouton, vous placeriez le code pour l'ouvrir (avec la fonction Shell) :

(Le bouton s'appelle par exemple CmdOpenFile)

Private Sub CmdOpenFile_Click()

Dim DocFichier As String
On Error GoTo Err
DocFichier = strCurrAppDir & "docs" & Me![Reference] & " " & Me![Prénom]
& " "
& Me![Nom]) & ".doc"

' 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



Merci encore.
Pouvez-vous m'indiquer, s'il vous plait, où mettre ce code ( dans quel
évenement de mon champ document qui contiendrai le chemin du fichier).
Comme je l'ai dit plus haut je suis débutante et pas très à l'aise encore
avec VBA.
Encore merci à vous, àtoutes et à tous.
A+...


Shell est juste une fonction qui permet d'ouvrir un fichier,

Elle est définie comme suit.

Function Shell(PathName, [WindowStyle As VbAppWinStyle = vbMinimizedFocus])
As Double


Dans l'aide de VBA vous trouverez aisément comment l'utiliser, par exemple :

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

' Ouvre le fichier :
Shell DocFichier , vbMaximizedFocus






Avatar
Sogolon
Merci de me consacrer de votre temps.Je vous explique mieux mon contexte:
J'ai les tbl suivantes:
tbl_coorespondances; tbl_destinataires;tbl_documents;tbl_expéditeurs entre
autres.
Comme vous l'avez bien deviné j'ai un formulaire basée sur une requête des
ces 4 tbl. J'ai un bouton "envoi_vers _word" avec un code automation sur
l'événement sur clic de ce bouton.
Il y'a aussi un champ document qui va contenir le chemin de chaque fichier
généré.

Mon problème:
1- Après génération de tout nouveau fichier (après clic sur bouton
"envoi_vers _word"), récupérer automatiquement le chemin de ce fichier dans
mon champ document (qui alimente la tbl_Documents).
2- Pouvoir ouvrir le fichier par clic sur ce champ ou par un autre bouton
comme vous préconisez par Shell.
Encore merci de votre disponibilité.
A+...


Où mettre le code, c'est un autre problème...
Tout dépend à quel moment et comment les fichiers doivent s'ouvrir...

De ce que j'ai compris, vous avez déjà un formulaire avec des champs
[Reference], [Prénom] et [Nom], à partir desquels vous créez le nom du
fichier.

Vous pouvez faire un bouton "Creer (le fichier)" et dans l'événement "Sur
Clic" de ce bouton vous placez le code que vous aviez pour générer le fichier.

Puis de la même manière un bouton "Ouvrir" et dans l'événement "Sur Clic" de
ce bouton, vous placeriez le code pour l'ouvrir (avec la fonction Shell) :

(Le bouton s'appelle par exemple CmdOpenFile)

Private Sub CmdOpenFile_Click()

Dim DocFichier As String
On Error GoTo Err
DocFichier = strCurrAppDir & "docs" & Me![Reference] & " " & Me![Prénom]
& " "
& Me![Nom]) & ".doc"

' 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



Merci encore.
Pouvez-vous m'indiquer, s'il vous plait, où mettre ce code ( dans quel
évenement de mon champ document qui contiendrai le chemin du fichier).
Comme je l'ai dit plus haut je suis débutante et pas très à l'aise encore
avec VBA.
Encore merci à vous, àtoutes et à tous.
A+...


Shell est juste une fonction qui permet d'ouvrir un fichier,

Elle est définie comme suit.

Function Shell(PathName, [WindowStyle As VbAppWinStyle = vbMinimizedFocus])
As Double


Dans l'aide de VBA vous trouverez aisément comment l'utiliser, par exemple :

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

' Ouvre le fichier :
Shell DocFichier , vbMaximizedFocus








Avatar
LiR
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
Sogolon
Merci encore une fois de plus.
Je mets en application et vous reviens dans un moment.
Merci à vous, à 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)




1 2