[Résolu][Calc] Adaptation code MailServiceProvider_EnvoiAuto

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
patrick104
Membre lOOyal
Membre lOOyal
Messages : 35
Inscription : 08 oct. 2009 09:28

[Résolu][Calc] Adaptation code MailServiceProvider_EnvoiAuto

Message par patrick104 »

Bonjour,

Je souhaite envoyer des mails (via Thunderbird) au départ d'une feuille Calc.
Suite à mes recherches et à une ancienne interpellation, il me semble que la macro fournie par luky-luke dans ce post https://forum.openoffice.org/fr/forum/v ... 15&t=39844 pourrait faire l'affaire.
Malheureusement, mes connaissances médiocres en Basic ne me permettent pas de modifier d'adapter le code aux références de ma feuille..

Serait-il possible à l'un d'entre vous d'adapter la macro "Boîte d'envoi" agissant sur les feuilles 1 et 2 du fichier
Envoi mail.ods
pour qu'elle fasse le même travail sur la feuille "SMS", ou cela représente-t-il un travail trop conséquent par rapport à l'esprit de ce forum ?
Auquel cas, est-il permis de me renseigner un lien vers un service "commercial", ou est-ce là aussi incompatible avec la philosophie du forum ?

D'avance merci,
patrick.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par patrick104 le 21 mars 2018 08:00, modifié 1 fois.
Ubuntu 20.04 (Obligation de version) - LibreOffice 6.4.7.2
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
Messages : 936
Inscription : 27 nov. 2010 00:17
Localisation : gâtine deux-sèvrienne

Re: [Calc] Adaptation code MailServiceProvider_EnvoiAuto

Message par luky-luke »

Bonjour
L'adaptation est assez simple à réaliser, dans le module Ref_courriel il suffit de modifier le nom de la feuille ou des feuilles de référence et les références de colonnes que l'on souhaitent dans la boîte de dialogue dans la macro ComboAddress.

Code : Tout sélectionner

Sub ComboAddress
Dim MonDocument as Object, MaFeuille As Object, MaColonne As Object
Dim MesDestinataires As Object
Dim Maliste(), Cellliste As Object
Dim MaListeBox As Object
Dim i As Integer,j As Integer, Tab1, Tab2 

MonDocument = ThisComponent

Tab1 = Array("","SMS","SMS")
Tab2 = Array("","H2:H100", "F2:F100")
	For j = 1 To 2
		Mafeuille = MonDocument.Sheets.GetByName(Tab1(j))	
		MaColonne = Mafeuille.GetCellRangeByName(Tab2(j))
		MesDestinataires = MaColonne.RangeAddress	
			redim MaListe(MesDestinataires.startRow to MesDestinataires.endRow)
			for i = MesDestinataires.startRow to MesDestinataires.endRow
				CellListe = Mafeuille.getCellByPosition(MesDestinataires.startColumn, i)
				MaListe(i) = CellListe.string
			next i
		MaListeBox = oDlg.GetControl("ListBox"&j)
		MaListeBox.addItems(MaListe(),0)
	Next j
End sub
Il faut également changer la ligne
MaListe(i) = CellListe.Formula
par
MaListe(i) = CellListe.String
sous peine de voir les formules alors que l'on souhaite le résultat de la formule.

Cordialement
Luke
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
patrick104
Membre lOOyal
Membre lOOyal
Messages : 35
Inscription : 08 oct. 2009 09:28

Re: [Calc] Adaptation code MailServiceProvider_EnvoiAuto

Message par patrick104 »

Bonjour,

Merci beaucoup Luke.
Grâce à tes indications, je suis parvenu à modifier la macro pour l'adapter à mon utilisation.
Cela m'a aussi permis de commencer à mieux comprendre la syntaxe de la programmation,
de découvrir de nouvelles possibilités,
et d'apporter quelques autres modifications à la fenêtre de sélection des données.

Je passe en résolu.

Merci pour ton aide.

patrick
Ubuntu 20.04 (Obligation de version) - LibreOffice 6.4.7.2