SUMACNAJ
Messages postés35Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention13 septembre 2007
-
9 mai 2007 à 14:26
SUMACNAJ
Messages postés35Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention13 septembre 2007
-
11 mai 2007 à 10:22
Bonjour,
J'ai décrit une procédure qui dit :
Sub EnvoiEmail(Adresse As String, Objet As String, Corps As String, Optional PJ As String)
J'ai donc en face :
Sub Envoi()
EnvoiEmail Range("B3"), Range("B4"), Range("B5"), Range("B17")
End Sub
J'aimerais savoir si dans mon argument "Corps", il est possible que j'aille de la cellule B5 à la cellule B15 ? J'ai essayé plusieurs choses du style ("B5", "B15") ou ("B5", "B6", "B7", "B8", ..., "B15") ou ("B5, B15") mais rien ne fonctionne. Il ne me prend systématiquement qu'une seule cellule, la première.
Merci de votre aide et à bientôt
A voir également:
Comment choisir plusieurs cellules Excel sur la déclaration d'un argument
SUMACNAJ
Messages postés35Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention13 septembre 2007 9 mai 2007 à 16:50
Salut,
Je viens de tester ta nouvelle solution, ce qui me gêne dans cette proposition c'est qu'il va falloir que le Service Informatique autorise sur tous les postes "Microsoft Outlook 11.0 Object Library" et c'est énorme (350 postes). De plus, lorsque l'on clique sur le bouton "Envoyer", il met un message de confirmation que l'on avait pas avant et avec ce type de messages, les utilisateurs vont être perdus et répondre systématiquement "non". Est-il possible, d'après toi, d'arriver malgré tout au même résultat de mise en page avec l'ancienne procédure ?
SUMACNAJ
Messages postés35Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention13 septembre 2007 9 mai 2007 à 17:05
Re,
Voilà le message qu'il me note :
"Un programme tente d'envoyer automatiquement du courrier électronique en votre nom. L'autorisez-vous à poursuivre ? Si cette action est inattendue, il se peut qu'il s'agisse d'un virus, dans ce cas choisissez Non. Oui. Non. Aide."
Et à cela, les futurs utilisateurs von répondre "non", malheureusement.
En ce qui concerne Microsoft Outlook 11.0 Object Library, je disais cela parce que moi je l'ai coché dans les références de VBA donc je suppose qu'il faudra que cela soit de même pour les autres utilisateurs non ?
Merci de ton aide et de ta recherche sur l'autre version.
SUMACNAJ
Messages postés35Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention13 septembre 2007 9 mai 2007 à 17:19
Re,
Cela marche sans aucun problème avec le "%OA", merci et encore merci. As-tu une idée sur le fait de faire correspondre A5 et B5 puis sur la ligne en dessous A6 et B6 et ainsi de suite ? Est-ce envisageable, exagéré ? Peut-on faire plusieurs zones de type "cellcorps" ?
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 10 mai 2007 à 07:52
Salut, tout est possible,
je pense par exemple a ajouter un parametre à la procédure qui représenterai A5:A15 puis tu modifie la boucle For each pour y insérer les valeur de la colonne A.
SUMACNAJ
Messages postés35Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention13 septembre 2007 10 mai 2007 à 08:44
Bonjour,
Merci de ton aide, je vais chercher mais je vais commencer par essayer de comprendre comment on ajoute un paramètre, comment on modifie une boucle ...tu vois un peu mon niveau.
J'aimerais boucler ce formulaire cete semaine et il est vrai que ce n'est pas mon métier alors je cherche pas mal et pose certainement des questions inadaptées ou simplistes.
SUMACNAJ
Messages postés35Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention13 septembre 2007 10 mai 2007 à 14:29
Bonjour,
Pas mieux pour l'instant, je n'ai pas vraiment compris le coup du "paramètre" alors j'ai essayé d'ajouter un "Coprs2" pour voir ce que cela donnait mais cela ne donne rien de bon puisque plus rien ne marche
Je vais mis repencher cet après-midi, j'aimerais vraiment venir à bout de mon formulaire aujourd'hui alors un énième petit coup de pouce supplémentaire serait le bienvenu.
Quoiqu'il en soit, merci pour les nombreuses solutions que Ju£i?n m'a déjà donné.
SUMACNAJ
Messages postés35Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention13 septembre 2007 10 mai 2007 à 16:42
Re-bonjour,
Deux questions tout de même me tarrabusquent l'esprit :
- Est-il possible de rendre les cellules B5 à B15 obligatoire ? C'est-à-dire que les utilisateurs sont obligés de remplir les champs sinon l'envoi ne se fait pas et un message d'erreur apparaît (facultatif pour le message, disons que ce serait le bonus )
- Est-il possible que le formulaire se ferme automatiquement après l'envoi ? C'est-à-dire que l'utilisateur le complète, ne l'enregistre pas, il clique sur "envoi", la mail part et le formulaire se ferme.
Aucun problème pour la procédure numéro 1, par contre mon fichier ne se ferme pas. Il faut que je regarde pourquoi, pourtant je l'ai bien placé à la fin après la procédure EnvoiMail. Je vais essayer à nouveau.
Dans tous les cas encore merci de ton aide et de ta réactivité.
SUMACNAJ
Messages postés35Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention13 septembre 2007 10 mai 2007 à 17:25
Mes excuses, ça marche très bien et le fichier se ferme sans aucun problème, c'était de ma faute. Par contre, si je ne remplis pas un champ, le fichier ne part pas par mail mais il se ferme, ne pourrait-on pas bloquer la fermeture dans ce cas là Cela éviterait que l'utilisateur soit obligé de tout recommencer.
SUMACNAJ
Messages postés35Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention13 septembre 2007 11 mai 2007 à 10:22
Bonjour Julien,
Ta solution convient parfaitement, encore une fois, à ma demande, j'ai simplement ajouté un petit message pour la fermeture automatique du fichier :
Sub Envoi()
If EnvoiEmail(Range("B3"), Range("B4"), Range("B5:B16"), Range("B17")) Then
'on avertit que l'on va fermer le classeur puisque l'envoi s'est bien passé
Call MsgBox("L'envoi s'est correctement passé, le formulaire va se fermer automatiquement")
'on ferme le classeur actif
ActiveWorkbook.Close (False) 'true si tu veux enregistrer les modif
End If
End Sub
Merci de ton soutien, de ton aide, de tes conseils que tu as toujours transformés en solutions. Le formulaire est maintenant je pense complet , je reste bouche bée devant les possibilités d'un produit tel qu'Excel et le VB.