XL 2013 Mail Personnalisé en VBA

Anr1

XLDnaute Occasionnel
Supporter XLD
Bonjour tt le monde,

Je veux écrire des mails personnalisé à l'aide de VBA mais j'arrive pas le faire vous trouverez ci-joint le fichier qui explique mieux ce que je veux faire.

Merci d'avance :)
 

Pièces jointes

  • MAILPERSONNALISE.xlsx
    11.4 KB · Affichages: 11
Dernière édition:

zebanx

XLDnaute Accro
Bonsoir ANOUARLACHIRI

Un essai sur l'adaptation d'un post récent répondu par Calvus ( ;)) , un peu modifié.
Penser svp dans le module VBE (ALT+F11) à aller dans outils (en haut) puis référence et cochez svp "Microsoft outlook xx object library".

xl-ment
zebanx
 

Pièces jointes

  • outlook_range_3C (BDD x compagnie)..xlsm
    356.2 KB · Affichages: 19

zebanx

XLDnaute Accro
Bonjour @zebanx

Le programme marche parfaitement, est ce que vous pouvez me dir comment je peux ajouter des personnes en CC

Merci d'avance :)

Bonjour anouarlachiri.

Déjà merci pour tes retours.

Ca dépend pour le mail en copie (.CC) ou le mail en copie cachée (.BCC)

CAS1 : Est-ce que ce sont des adresses fixes à envoyées à chaque envoi ?
Dans cette configuration : .CC = "toto@maison.com"

CAS 2 : Y a-t-il une distribution de .CC pour chaque destinataire ?
Et combien de .CC dans ce cas (on les rajouterai dans des colonnes supplémentaires dans l'onglet "mail") ?

@+
 

Anr1

XLDnaute Occasionnel
Supporter XLD
@zebanx
si tu peux m'expliqué la première partie de programme ..
pourquoi les varibale : r , r2 , r3 , i , derIF
et boucle sur colonne ? boucle sur equiv retrouvé ? remplissage de données ..

j'ai pas bien compris

si tu peux me fait une petite résumer ça seras très gentil de ta part

Merci d'avance :)
 

zebanx

XLDnaute Accro
Re-

Code commenté dans le module.

A noter qu'en utilisant une méthode CELLS (qui travaille ligne à ligne), il est essentiel que les données dans le tableau de référence (qui couvre les colonnes A à C) soit trié par la colonne A et par la colonne C.

Ce n'est pas long à faire mais si vous ne le faites pas, la restitution posera problème.

@+
 

Pièces jointes

  • outlook_range_3C (BDD x compagnie)_commenté..xlsm
    358.2 KB · Affichages: 8

zebanx

XLDnaute Accro
Bonjour anouarlachiri

Il faut modifier les bornes effectivement.
J'ai essayé de le faire mais après comme je n'ai pas la référence "microsoft outlook 15 library", ça a foutu un peu le bazar pour l'envoi (manque DLL) même en décochant.

Bref, ça devrait bien fonctionner chez toi puisque ta version excel est plus récente.
Et tu peux modifier les bornes sinon (le fichier s'ouvre sans problème et ne fait pas bugger excel) sur le fichier initial.
(Et plus simplement, tu te places en F2 puis CTRL + H et remplacer 71 par 200) et tu fais glisser la formule.

Par ailleurs, pour les colonnes A à C, tu verras un autre bouton qui fait fonctionner le code suivant.
Cela permet le tri par la colonne A puis par C, ce qui évite les problèmes évoqués au 8

VB:
Sub tableau_sort()
Columns("A:C").Select: Range("A1").Select
Selection.Sort Key1:=Range("A2"), Order1:=1, Key2:=Range("C2"), Order2:=1, Header:=xlGuess
End Sub

Voilà, presque achevé.

@+

edit : fichier supprimé. Les informations sont suffisantes dans ce qui est présenté supra (normalement, sinon revenez vers moi. Bonne journée)
 
Dernière édition:

Anr1

XLDnaute Occasionnel
Supporter XLD
Bonjour @zebanx,

Je me permets de vous écrire par ce que j'arrive pas à comprendre l'utilité de la fonctionne suivante :

=SI(ESTERREUR(INDEX($A:$A;PETITE.VALEUR(SI(($A$2:$A$200<>"")*NON(NB.SI(F$1:F1;$A$2:$A$200));LIGNE($A$2:$A$200));1)));"";
INDEX($A:$A;PETITE.VALEUR(SI(($A$2:$A$200<>"")*NON(NB.SI(F$1:F1;$A$2:$A$200));LIGNE($A$2:$A$200));1)))

et aussi du tri?

Merci bien
 

zebanx

XLDnaute Accro
Bonjour anouarlachiri

La formule permet de n'avoir qu'une valeur unique pour chaque item de la colonne A (sans doublons).

Le deuxième tri sur la colonne C est nécessaire car la boucle fonctionne en comparant ligne à ligne.
Et donc pour une entreprise X, on est obligé de trier.

Cas "ok"
A info B ent1
A info B2 ent1
A info B3 ent1
A info B4 ent2
A info B5 ent2
restitue
ent1 : B - B2 - B3
ent2 : B4 - B5

Faites l'essai maintenant
A info B ent1
A info B4 ent2
A info B2 ent1
A info B3 ent1
A info B5 ent2

vous comprendrez pourquoi le tri (colonne A et colonne C) est nécessaire

xl-ment
 

zebanx

XLDnaute Accro
Re-

Perso la formule est très compliquée (mais par expérience, une formule contenant petitevaleur ou grandevaleur est toujours longue).
Mais il faut savoir extraire les doublons et celle-là, fournie par JOB75( ;)) est très efficace.

C'est utile quand on doit traiter un nombre limité de mails. C'est sût que si vous aviez plus de 500 mails par jour à envoyer, il faudrait probablement une solution autre que l'utilisation d'une formule. Mais là, ça ne s'impose pas.

Bonne journée,
zebanx
 

Discussions similaires

Réponses
1
Affichages
78
Compte Supprimé 979
C
Réponses
16
Affichages
595
Réponses
5
Affichages
290