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.
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".
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") ?
@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
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.
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)
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
Oui je comprend mnt l'utilité u tri
Et j'ai compris La formule qui permet de n'avoir qu'une valeur unique pour chaque item de la colonne A par contre je trouve que la formule contient des fonctions que je comprend pas sont utilités !
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.