OVH Cloud OVH Cloud

utiliser getaddress

8 réponses
Avatar
Fred
bonjour

je débute en vba en utilisant les réponses du newsgroup
mais je cale sur l'utilisation de getaddress
avec word 2000
je veux à l'entrée d'un champ dans un formulaire
ouvrir le carnet d'adresses outlook
sélectionner l'adresse choisie et l'insérer dans le champ

merci d'avance pour votre aide

Fred

8 réponses

Avatar
Clément Marcotte
Tu as posé ta question ce matin à 4 h27 et tu brailles que tu n'as pas
eu de réponse à peine 8 heures plus tard. Le service d'esclavage te
dis d'aller voir là et de te débrouiller tout seul.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnout98/html/msdn_ouvbsvba.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/off2000/html/olconUsingOutlookVBAToRespondToOutlookEvents.asp

http://builder.com.com/5100-6373-5032717.html

http://www.microsoft.com/france/msdn/technologies/outils/office/info/info.asp?mar=/france/msdn/technologies/outils/office/info/outlook2002-devsol.html&xmlpath=/france/msdn/technologies/outils/office/off_inforef.xml&rang=7




"Fred" <nospam> a écrit dans le message de
news:
bonjour

je débute en vba en utilisant les réponses du newsgroup
mais je cale sur l'utilisation de getaddress
avec word 2000
je veux à l'entrée d'un champ dans un formulaire
ouvrir le carnet d'adresses outlook
sélectionner l'adresse choisie et l'insérer dans le champ

merci d'avance pour votre aide

Fred




Avatar
Fred
bonjour clément

tout d'abord , merci pour ta réponse
je tiens à apporter 2 ou 3 petites précisions :
j'ai posté ma question à 10h26 pas à 4h27 et je n'ai pas" braillé"
8 heures plus tard mais simplement posté la demende sur un autre
newsgroup à savoir celui d'excel , pour avoir lu les recommandations
d'utilisation de ce newsgroup sur le site d'analocuthe , je ne penses pas
que ce soit interdit ou considéré comme du " braillage".
et pour finir , j'ai découvert ces newsgroups récemment
je suis peut etre un peu maladroit dans l'utilisation que j'en fait
mais je ne considère pas les contributeurs comme des " esclaves".

pour revenir à ma question , les liens que tu me propose
m'orientent vers une automatisation d'outlook ;
c'est trop compliqué pour moi , je souhaite simplement pouvoir
en vba ouvrir la fenètre corespondant au bouton "insertion adresse"
sélectionner le carnet
(dans mon cas un carnet outlook partagé)
puis le contact et insérer son adresse (définie par MiseEnPageAdresse)
dans le champ de formulaire.

merci


"Clément Marcotte" a écrit dans le message
de news:%
Tu as posé ta question ce matin à 4 h27 et tu brailles que tu n'as pas
eu de réponse à peine 8 heures plus tard. Le service d'esclavage te
dis d'aller voir là et de te débrouiller tout seul.


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnout98/html/msdn_ouvbsvba.asp



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/off2000/html/olconUsingOutlookVBAToRespondToOutlookEvents.asp


http://builder.com.com/5100-6373-5032717.html


http://www.microsoft.com/france/msdn/technologies/outils/office/info/info.asp?mar=/france/msdn/technologies/outils/office/info/outlook2002-devsol.html&xmlpath=/france/msdn/technologies/outils/office/off_inforef.xml&rang=7





"Fred" <nospam> a écrit dans le message de
news:
bonjour

je débute en vba en utilisant les réponses du newsgroup
mais je cale sur l'utilisation de getaddress
avec word 2000
je veux à l'entrée d'un champ dans un formulaire
ouvrir le carnet d'adresses outlook
sélectionner l'adresse choisie et l'insérer dans le champ

merci d'avance pour votre aide

Fred







Avatar
Fred
bonjour

j'ai trouvé (dans l'aide je crois) un début de code qui marche

Sub InserAdres()
Dim MonAdress As String
MonAdress = Application.GetAddress(DisplaySelectDialog:=True)
'ActiveDocument.Range(Start:=0, End:=0).InsertAfter MonAdress
EndSub

mais comment "coller" le résultat dans un champ , quelque chose comme

ActiveDocument.Bookmarks(NomSignet) ??

je cale pour la suite...

merci d'avance

Fred

"Fred" <nospam> a écrit dans le message de
news:
bonjour clément

tout d'abord , merci pour ta réponse
je tiens à apporter 2 ou 3 petites précisions :
j'ai posté ma question à 10h26 pas à 4h27 et je n'ai pas" braillé"
8 heures plus tard mais simplement posté la demende sur un autre
newsgroup à savoir celui d'excel , pour avoir lu les recommandations
d'utilisation de ce newsgroup sur le site d'analocuthe , je ne penses pas
que ce soit interdit ou considéré comme du " braillage".
et pour finir , j'ai découvert ces newsgroups récemment
je suis peut etre un peu maladroit dans l'utilisation que j'en fait
mais je ne considère pas les contributeurs comme des " esclaves".

pour revenir à ma question , les liens que tu me propose
m'orientent vers une automatisation d'outlook ;
c'est trop compliqué pour moi , je souhaite simplement pouvoir
en vba ouvrir la fenètre corespondant au bouton "insertion adresse"
sélectionner le carnet
(dans mon cas un carnet outlook partagé)
puis le contact et insérer son adresse (définie par MiseEnPageAdresse)
dans le champ de formulaire.

merci


"Clément Marcotte" a écrit dans le message
de news:%
Tu as posé ta question ce matin à 4 h27 et tu brailles que tu n'as pas
eu de réponse à peine 8 heures plus tard. Le service d'esclavage te
dis d'aller voir là et de te débrouiller tout seul.




http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnout98/html/msdn_ouvbsvba.asp





http://msdn.microsoft.com/library/default.asp?url=/library/en-us/off2000/html/olconUsingOutlookVBAToRespondToOutlookEvents.asp


http://builder.com.com/5100-6373-5032717.html




http://www.microsoft.com/france/msdn/technologies/outils/office/info/info.asp?mar=/france/msdn/technologies/outils/office/info/outlook2002-devsol.html&xmlpath=/france/msdn/technologies/outils/office/off_inforef.xml&rang=7





"Fred" <nospam> a écrit dans le message de
news:
bonjour

je débute en vba en utilisant les réponses du newsgroup
mais je cale sur l'utilisation de getaddress
avec word 2000
je veux à l'entrée d'un champ dans un formulaire
ouvrir le carnet d'adresses outlook
sélectionner l'adresse choisie et l'insérer dans le champ

merci d'avance pour votre aide

Fred











Avatar
Anacoluthe
Bonjour !

"Fred" nous a écrit ...
j'ai trouvé (dans l'aide je crois) un début de code qui marche
Sub InserAdres()
Dim MonAdress As String
MonAdress = Application.GetAddress(DisplaySelectDialog:=True)
'ActiveDocument.Range(Start:=0, End:=0).InsertAfter MonAdress
EndSub
mais comment "coller" le résultat dans un champ , quelque chose comme
ActiveDocument.Bookmarks(NomSignet) ??
je cale pour la suite...


Voyez dans la FAQ cet exemple de Guy
pour 'coller' une chaîne (ici MonAdress) dans un signet :
http://faq.ms.word.free.fr/VBA/VBA_reponses.htm#v26

Anacoluthe
« La colle en tube, ça colle tout, excepté les bouchons de tube. »
- Pierre LEGARÉ

Avatar
Fred
bonjour

je ne comprends pas le fonctionnement de cette macro
si quelqu'un peut m'expliquer svp?
j'ai essayé de l'adapter à mon cas mais rien à faire, je ne suis pas doué!

merci

"Anacoluthe" a écrit dans le message de
news:
Bonjour !

"Fred" nous a écrit ...
j'ai trouvé (dans l'aide je crois) un début de code qui marche
Sub InserAdres()
Dim MonAdress As String
MonAdress = Application.GetAddress(DisplaySelectDialog:=True)
'ActiveDocument.Range(Start:=0, End:=0).InsertAfter MonAdress
EndSub
mais comment "coller" le résultat dans un champ , quelque chose comme
ActiveDocument.Bookmarks(NomSignet) ??
je cale pour la suite...


Voyez dans la FAQ cet exemple de Guy
pour 'coller' une chaîne (ici MonAdress) dans un signet :
http://faq.ms.word.free.fr/VBA/VBA_reponses.htm#v26

Anacoluthe
« La colle en tube, ça colle tout, excepté les bouchons de tube. »
- Pierre LEGARÉ




Avatar
Anacoluthe
Bonjour !

"Fred" nous a écrit ...
je ne comprends pas le fonctionnement de cette macro
si quelqu'un peut m'expliquer svp?
j'ai essayé de l'adapter à mon cas mais rien à faire,
je ne suis pas doué!


Ce n'est pas une question d'être doué ou pas.
Vos connaissances de base en vba sont juste insuffisantes ;-)
Le code de Guy dans la FAQ est une procédure à deux arguments,
pas une macro. Placez la dans votre module puis ajoutez
dans votre macro à vous l'instruction
MajSignet(MonAdress, NonDuSignet)
qui 'colle' votre chaîne 'MonAdress' au signet 'NomDuSignet'

Tout ça reste encore compliqué ? Cherchez dans la FAQ,
vous y trouverez un B-A-BA sur le VBA...

Anacoluthe
« La colle en tube, ça colle tout, excepté les bouchons de tube. »
- Pierre LEGARÉ

Avatar
Guy Moncomble
Bonjour à tous,
dans le message ,

| Le code de Guy dans la FAQ est une procédure à deux arguments,
| pas une macro. Placez la dans votre module puis ajoutez
| dans votre macro à vous l'instruction
| MajSignet(MonAdress, NonDuSignet)
| qui 'colle' votre chaîne 'MonAdress' au signet 'NomDuSignet'

Justement j'ai un peu modifié le code de cette procédure, voici le
nouveau :

===== Public Sub MajSignet(NomSignet As String, TexteSignet As String)
'Guy Moncomble - Août 2003 ©
'Modifie le texte d'un signet et rétablit ce signet (supprimé par la
mise à jour).

'Fonctionne dans :
' - document principal, y compris les tableaux,
' - en-têtes et pieds de page,
' - cadres et zones de texte,
' - notes de bas de page et notes de fin.

Dim MyRange As Range, Debut As Long, TypAff As WdViewType, FenAff As
WdSeekView

'Si le signet existe
If ActiveDocument.Bookmarks.Exists(NomSignet) Then
'Où sommes nous au moment de l'appel ? quel est le type d'affichage
?
FenAff = ActiveDocument.ActiveWindow.View.SeekView
TypAff = ActiveDocument.ActiveWindow.View.Type
'Sélection du signet
ActiveDocument.Bookmarks(NomSignet).Select
'Où sommes-nous maintenant ?
If Selection.Information(wdInHeaderFooter) Then
'Il faut revenir en mode page, en-tête ou pied de page ouvert,
sinon marche pas
ActiveWindow.View.Type = wdPrintView
'On resélectionne
ActiveDocument.Bookmarks(NomSignet).Select
End If
Set MyRange = Selection.Range
Debut = MyRange.Start
Selection.Bookmarks(NomSignet).Range.Text = TexteSignet
MyRange.SetRange Debut, Debut + Len(TexteSignet)
Selection.Bookmarks.Add NomSignet, MyRange
'On rétablit la vue initiale
ActiveWindow.ActivePane.View.SeekView = FenAff
ActiveWindow.View.Type = TypAff
End If
End Sub
=====
J'ai fait pas mal de tests, mais sait-on jamais ?

--
A+

GMO MVP WORD
Avatar
Fred
bonjour

merci pour les réponses mais après beaucoup d'essais , j'ai toujours un
problème
voici mon (votre) code:

Public Sub MajSignet(NomSignet As String, TexteSignet As String)
'Guy Moncomble - Août 2003 ©
'Modifie le texte d'un signet et rétablit ce signet (supprimé par la mise à
jour).

'Fonctionne dans :
' - document principal, y compris les tableaux,
' - en-têtes et pieds de page,
' - cadres et zones de texte,
' - notes de bas de page et notes de fin.

Dim MyRange As Range, Debut As Long, TypAff As WdViewType, FenAff As
WdSeekView

'Si le signet existe
If ActiveDocument.Bookmarks.Exists(NomSignet) Then
'Où sommes nous au moment de l'appel ? quel est le type d'affichage
Debug.Print
FenAff = ActiveDocument.ActiveWindow.View.SeekView
TypAff = ActiveDocument.ActiveWindow.View.Type
'Sélection du signet
ActiveDocument.Bookmarks(NomSignet).Select
'Où sommes-nous maintenant ?
If Selection.Information(wdInHeaderFooter) Then
'Il faut revenir en mode page, en-tête ou pied de page ouvert, sinon
marche pas
ActiveWindow.View.Type = wdPrintView
'On resélectionne
ActiveDocument.Bookmarks(NomSignet).Select
End If
Set MyRange = Selection.Range
Debut = MyRange.Start
Selection.Bookmarks(NomSignet).Range.Text = TexteSignet

après cette ligne , j'ai un message : impossible de supprimer la page


MyRange.SetRange Debut, Debut + Len(TexteSignet)
Selection.Bookmarks.Add NomSignet, MyRange
'On rétablit la vue initiale
ActiveWindow.ActivePane.View.SeekView = FenAff
ActiveWindow.View.Type = TypAff
End If
End Sub

Sub InserAdres()
Dim MonAdress As String
MonAdress = Application.GetAddress(DisplaySelectDialog:=True)
MajSignet "AdresDest", (MonAdress)


End Sub

Je ne vois pas ce qui ne va pas
merci pour votre aide

Fred

"Guy Moncomble" <http://cerbermail.com/?QOoOlzu81P> a écrit dans le message
de news:
Bonjour à tous,
dans le message ,

| Le code de Guy dans la FAQ est une procédure à deux arguments,
| pas une macro. Placez la dans votre module puis ajoutez
| dans votre macro à vous l'instruction
| MajSignet(MonAdress, NonDuSignet)
| qui 'colle' votre chaîne 'MonAdress' au signet 'NomDuSignet'

Justement j'ai un peu modifié le code de cette procédure, voici le
nouveau :

===== > Public Sub MajSignet(NomSignet As String, TexteSignet As String)
'Guy Moncomble - Août 2003 ©
'Modifie le texte d'un signet et rétablit ce signet (supprimé par la
mise à jour).

'Fonctionne dans :
' - document principal, y compris les tableaux,
' - en-têtes et pieds de page,
' - cadres et zones de texte,
' - notes de bas de page et notes de fin.

Dim MyRange As Range, Debut As Long, TypAff As WdViewType, FenAff As
WdSeekView

'Si le signet existe
If ActiveDocument.Bookmarks.Exists(NomSignet) Then
'Où sommes nous au moment de l'appel ? quel est le type d'affichage
?
FenAff = ActiveDocument.ActiveWindow.View.SeekView
TypAff = ActiveDocument.ActiveWindow.View.Type
'Sélection du signet
ActiveDocument.Bookmarks(NomSignet).Select
'Où sommes-nous maintenant ?
If Selection.Information(wdInHeaderFooter) Then
'Il faut revenir en mode page, en-tête ou pied de page ouvert,
sinon marche pas
ActiveWindow.View.Type = wdPrintView
'On resélectionne
ActiveDocument.Bookmarks(NomSignet).Select
End If
Set MyRange = Selection.Range
Debut = MyRange.Start
Selection.Bookmarks(NomSignet).Range.Text = TexteSignet
MyRange.SetRange Debut, Debut + Len(TexteSignet)
Selection.Bookmarks.Add NomSignet, MyRange
'On rétablit la vue initiale
ActiveWindow.ActivePane.View.SeekView = FenAff
ActiveWindow.View.Type = TypAff
End If
End Sub
===== >
J'ai fait pas mal de tests, mais sait-on jamais ?

--
A+

GMO MVP WORD