Simplification du code et ajout d'un boutton

Bonjour,

Je ne suis pas un grand spécialiste du VBA (pour tout dire je débute...) et j'ai codé quelques lignes pour un projet.

Pour faire simple, suivant le choix dans une cellule de la feuille principale j'affiche ou non certaines colonnes et j'affiche ou pas certaines autres feuilles.

Cette partie fonctionne parfaitement mais j'aurais voullu avoir votre avis sur le code, et certainement comment le réduire car je pense que j'ai beaucoup de texte pour pas grand chose (voir ci-dessous).

Pour la seconde partie de mon sujet, j'aurais aimé avoir un bouton sur la page principale pour imprimer en PDF les pages concernées, donc la page "par défaut" nommée "Information Page" ainsi que la page définie dans la case "B4" de ma page principale, mais pour cette partie je coince.

Voici déjà le code qui fonctionne :

'Masquer ou afficher colonnes et les feuilles
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Application.Intersect(Target, Range("B4")) Is Nothing Then
Application.ScreenUpdating = False
Range("A:ZZ").EntireColumn.Hidden = False 'affiche tout

'*** masque les colonnes et feuilles indiquées ****
If Target = 8 Then End
'************************************
If Target = "Simple OPR" Then Range("S:ZZ").EntireColumn.Hidden = True

If Target = "Simple OPR" Then Sheets("Simple OPR").Visible = True
If Target = "Simple OPR" Then Sheets("Simple OPR via muti. Inf. cable").Visible = False
If Target = "Simple OPR" Then Sheets("Split FOID in 2").Visible = False
If Target = "Simple OPR" Then Sheets("Split FOID in 3").Visible = False
If Target = "Simple OPR" Then Sheets("Split FOID in 2 via Infr. cable").Visible = False
'************************************
If Target = "Simple OPR via multiple Infrabel cable" Then Range("S:ZZ").EntireColumn.Hidden = True

If Target = "Simple OPR via multiple Infrabel cable" Then Sheets("Simple OPR").Visible = False
If Target = "Simple OPR via multiple Infrabel cable" Then Sheets("Simple OPR via muti. Inf. cable").Visible = True
If Target = "Simple OPR via multiple Infrabel cable" Then Sheets("Split FOID in 2").Visible = False
If Target = "Simple OPR via multiple Infrabel cable" Then Sheets("Split FOID in 3").Visible = False
If Target = "Simple OPR via multiple Infrabel cable" Then Sheets("Split FOID in 2 via Infr. cable").Visible = False
'************************************
If Target = "Split existing FOID in 2" Then Range("K:R").EntireColumn.Hidden = True
If Target = "Split existing FOID in 2" Then Range("AA:ZZ").EntireColumn.Hidden = True

If Target = "Split existing FOID in 2" Then Sheets("Simple OPR").Visible = False
If Target = "Split existing FOID in 2" Then Sheets("Simple OPR via muti. Inf. cable").Visible = False
If Target = "Split existing FOID in 2" Then Sheets("Split FOID in 2").Visible = True
If Target = "Split existing FOID in 2" Then Sheets("Split FOID in 3").Visible = False
If Target = "Split existing FOID in 2" Then Sheets("Split FOID in 2 via Infr. cable").Visible = False
'************************************
If Target = "Split existing FOID in 3" Then Range("K:R").EntireColumn.Hidden = True
If Target = "Split existing FOID in 3" Then Range("AA:ZZ").EntireColumn.Hidden = True

If Target = "Split existing FOID in 3" Then Sheets("Simple OPR").Visible = False
If Target = "Split existing FOID in 3" Then Sheets("Simple OPR via muti. Inf. cable").Visible = False
If Target = "Split existing FOID in 3" Then Sheets("Split FOID in 2").Visible = False
If Target = "Split existing FOID in 3" Then Sheets("Split FOID in 3").Visible = True
If Target = "Split existing FOID in 3" Then Sheets("Split FOID in 2 via Infr. cable").Visible = False
'************************************
If Target = "Split existing FOID in 2 via another Infrabel cable" Then Range("K:Z").EntireColumn.Hidden = True

If Target = "Split existing FOID in 2 via another Infrabel cable" Then Sheets("Simple OPR").Visible = False
If Target = "Split existing FOID in 2 via another Infrabel cable" Then Sheets("Simple OPR via muti. Inf. cable").Visible = False
If Target = "Split existing FOID in 2 via another Infrabel cable" Then Sheets("Split FOID in 2").Visible = False
If Target = "Split existing FOID in 2 via another Infrabel cable" Then Sheets("Split FOID in 3").Visible = False
If Target = "Split existing FOID in 2 via another Infrabel cable" Then Sheets("Split FOID in 2 via Infr. cable").Visible = True

End If
End Sub

Edit : le fichier ...

22opr-request.zip (324.34 Ko)

Bonjour Heavy

Pour la 1ère partie, à savoir optimisation du code voici une proposition à tester :

If Application.Intersect(Target, Range("B4")) Is Nothing Then
                Exit Sub
        End If

        Application.ScreenUpdating = False
        Range("A:ZZ").EntireColumn.Hidden = False 'affiche tout

        '*** masque les colonnes et feuilles indiquées ****
        If Target = 8 Then End
        '************************************

        Dim sh As Worksheet

        For Each sh In Worksheets

                If sh.Name = Target Then
                        sh.Visible = True
                Else
                        sh.Visible = False
                End If

        Next sh

        If Target = "Simple OPR" Then Range("S:ZZ").EntireColumn.Hidden = True
        '************************************
        If Target = "Simple OPR via multiple Infrabel cable" Then Range("S:ZZ").EntireColumn.Hidden = True
        '************************************
        If Target = "Split existing FOID in 2" Then Range("K:R").EntireColumn.Hidden = True
        If Target = "Split existing FOID in 2" Then Range("AA:ZZ").EntireColumn.Hidden = True
        '************************************

Pour que ceci fonctionne il faut que la valeur de target corresponde au nom de la feuille à afficher.

Note que je n'ai pas pu tester le code (mais je peux le faire si tu joins un fichier)

@+

Bonjour Streetchris82, et merci pour la réponse.

je viens de joindre le fichier...

Malheureusement ce n'est pas possible d'avoir les même nom pour les feuilles car certain sont trop long...

Je crois voir aussi que les autres feuilles dont j'ai toujours besoin ne serons plus affichées (sauf si je me trompe...)

Bonjour Heavy,

Merci pour le fichier et désolé pour le retard,

Pour simplifier le code le plus simple à mon gout c'est peut-être de remplacer ta liste de validation de donnée en B4 par une combobox et on remplirait celle-ci en récupérant directement les nom de feuille qui t'intéresse (j'ai mis une combobox test sur l'onglet "TEST")

Pour la gestion des onglets à afficher/cacher je me suis permis de garder une couleur d'onglet commune, c'est de celle-ci que je vais me servir pour la gestion.

Les feuilles étant protéger et si l'idée de la combobox te convient tu peux placer celle-ci à la place de la liste et reposter le classeur à jour :)

Cordialement,

9opr-request.zip (328.51 Ko)

Bonjour Streetchris82,

Merci d'avoir pris du temps pour mon fichier.

Je viens de regarder pour la combobox mais je ne suis pas fan. Sorry.

Pour la seconde partie de ma question, aurais-tu une idée pour le bouton d'impression (au niveau code)

J'aimerais que les pages "information Page" et la page affichée suivant le choix en B4 puissent être imprimée en PDF.

Jai aussi une question sur le codage des pages, je n'ai pas trouvé le moyen de "cacher" ce code, est-ce possible?si oui, comment?

Et enfin petite idée à creuser, j'aimerais qu'un mail automatique soit composé avec un sujet et un corp qui reprennent certaines données comprise dans mon fichier.

Pour cette dernière partie je n'ai pas encore creusé la question, mais pourrais-tu m'aiguiller stp.

Bonjour Heavy,

Pas de soucis

Concernant les modifications, voici mes propositions :

- J'ai créé 2 nouvelles feuilles, une feuille "TEST" qui est une copie de la feuille "OPR info" (celle-ci est protégée d'où la copie) et une feuille BDD (voir la suite)

- Pour la gestion de cacher/afficher les onglets, à l'ouverture de la page "TEST" je rempli le tableau sur la page "BDD" avec les onglets qui sont en gris clair, les items de ce tableau viendrons remplir la liste en B4 de la page "TEST"

- Sur la feuille "TEST", toujours, ajout des boutons "Imprimer" et "Mail", les codes sont créés mais pas encore testées (je pourrais le faire plus tard)

Vois le code du bouton "Mail", il y'a une partie ou tu peux indiquer les destinataires le contenu et le sujet, indique moi comment tu veux récupérer ses infos

Voila dit moi si ceci te convient

@+

12opr-request.zip (351.46 Ko)
11opr-request.zip (345.62 Ko)

Bonjour Streetchris82,

Je suis désolé pour les protections des pages, pour avoir plus simple j'ai enlevé une partie (OPR info, Information page, drop list et concatenate)...

par contre je remarque qu'une partie de mon code ne fonctionne plus , je suppose que c'est dû à un conflit avec la page de test

En ce qui concerne le bouton PRINT, c'est un super début, il faudra changer l'impression du sheet test par la page d'information et j'aurais aussi aimé que le PDF contienne les 2 pages à imprimer, et pas sur 2 pages différentes (sans vouloir être trop exigent...)

En ce qui concerne le mail, j'aurais voulu avoir le commentaire en C32 du sheet "Information Page"

Serise sur le gâteau : avec un commentaire supplémentaire juste avant le "merci" qui serais ceci : "Vous trouverez plus d'information en attache" et qui serais traduit en français, anglais et néerlandais suivant le choix en B2 du sheet "OPR Info"

Pour les destinataires, il y en as des fixes dans le "TO" et des fixes et un variable dans le "CC", le variable se trouve en B8 du sheet "OPR info"

Le sujet du mail sera un combiné de "demande OPR pour le projet" --> si "FTTS" en C24 du sheet "OPR info" alors FTTS, sinon "commercial" --> valeur en P11 à P14 du sheet "OPR info" --> et si en B4 du sheet OPR info c'est un split, indiquer aussi les valeurs de U3 et 4 du sheet "OPR info"

Je pense que cette partie pourrais être définie via mon sheet "concatenate" avec des référennces dans le code, non?

Et les pépites de chocolat et la crème chantilly sur le gâteau serais que le fichier PDF sois aussi dans ce mail, mais je pense que j'exagère...

Hello Heavy,

Voici la nouvelle fournée, merci pour avoir enlever la protection, j'ai tout remis comme c'étais avant et enlever les feuilles "TEST" et "BDD"

A savoir :

- J'ai remplacer la plage de donnée sur la feuille "Drop list" contenant les noms d'onglet par un tableau structuré dont la liste des noms d'onglet sera renseigné automatiquement, celle-ci sera reprise dans la liste en B4 de la feuille "OPR info"

- Boutons "Impression" et "Mail" sur la feuille "OPR info" fonctionnel, j'imprime bien les feuilles qui t'intéressent dans un PDF, tu n'auras qu'après l'impression un msgbox te demandera si tu veux enchainer par un envoi d'un mail, le PDF sera bien en PJ comme demander

Pour la partie mail justement je n'ai pas trop comprise ce que tu voulais faire pour la partie destinataire et sujet, pourrais tu me donner des exemples concret stp?

Pour le corps du mail j'ai inséré le commentaire désiré mais à la fin du mail, ca te convient quand même?

Je mettrai des commentaires dans le script une fois que tout sera validé mais note quand même les commentaires dans les sub Sheet1.Btn_impression et et Sheet1.EnvoyerMail

En attente de ton retour

12opr-request.zip (339.82 Ko)

Bonjour Streetchris82,

Encore merci de prendre du temps pour m'aider...

je vois les changements, mais je vois aussi que tu as changé les données qui apparaissent en B4 via une liste.

Le soucis maintenant est que toutes les formules du fichier basées sur le contenu de cette case ne fonctionne plus...

refaire toutes les formules ne me fait pas peur, mais il y as beaucoup à changer... (par exemple, choisir maintenant le split d'un FOID ne remplis plus les auto-comments et les mise en forme automatique non plus...)

Je ne suis pas familier de la liste comme tu l'as faite donc questions/remarques :

- Apparemment je ne peux pas changer les noms de cette liste afin de les remettre comme avant...

-est-il simple d'ajouter, modifier cette liste (elle n'est pas fixe j'ai encore des "template" a ajouter...)

Je remarque aussi que l'impression ne propose plus le changement de nom du fichier et l'endroit ou la sauver, Je trouve cela assez embêtant...

Bonjour Heavy,

Je t'ai indiqué dans mes 2 derniers post les modifications que j'ai apporté à la liste, à savoir, encore une fois, je rempli automatiquement un tableau structuré sur la feuille "Drop list" avec le nom des onglets qui sont en gris clair et à chaque ouverture de la feuille "OPR info" je rempli la liste en B4 avec le contenu de ce tableau, ceci combiné avec le code que tu m'as demandé de simplifier dans le module "Sheet1.Worksheet_change" permettant de cacher/afficher les onglets et les colonnes correspondantes.

Cette méthode permettrai d'avoir de la souplesse et de ne pas avoir à modifier les macros si tu ajoutes de nouvelle feuille par exemple (pourvu que tu passe la couleur d'onglet en gris clair par contre)

Maintenant j'ignorai que la valeur du champ B4 était utilisé dans des formules, désolé

Du coup soit on revient comme avant et ca t'obligera à chaque ajout, modification du nom de feuille à modifier la macro soit peut-être utilisé une macro à la place de tes formules? Je ne sais pas trop.

Concernant l'impression, ta demande était de pouvoir attacher le pdf en PJ de ton mail, ceci fonctionne, tu ne m'as jamais demandé de pouvoir changer le nom du fichier, ni de pouvoir choisir le chemin d'enregistrement.

Serait-il possible de définir un champ dans le fichier avec un répertoire de destination pour le fichier? ou comme je me l'imagine la destination change à chaque fois? Si c'est la 2ème option il faut savoir que pour pouvoir attacher un fichier en PJ d'un mail il faut que je connaisse l'emplacement de celui-ci.

En attente de ton retour,

Cordialement,

En effet, je n'avais pas précisé que me cellule B4 avais un impact directe sur beaucoup de chose... sorry

Comme dit précédement je ne suis pas fan de la liste via VBA car justement je ne métrise pas bien cette partie, je trouve beaucoup plus simple pour moi ce que j'avais fait avant (au niveau des changements futurs) car je métrise beaucoup plus.

Je veux essayer de comprendre comment mon fichier travaille maintenant...

donc si je place un nouvel onglet en gris clair, je vois que la liste change, idem si je change le nom d'un onglet... --> je n'ai pas à changer toutes mes formules, juste une partie (avec le nom trop long...)

correct?

Si oui, je pense que, en effet, ceci est plus souple pour beaucoup de choses...

au niveau de l'affichage des colonnes, pourrais-tu décrire comment cela fonctionne stp

Concernant l'impression, en effet je ne l'ai pas demandé (cela étais implicite dans ma tête), sorry pour l'oubli

Définir un emplacement pour le fichier est assez dificile car chaque utilisateur à son propre répertoire, même si le but est de le mettre dans un sharepoint

Dans ce sharepoint cela est classé 1 répertoire par année et 1 sous-répertoire par projet (le répertoire par année est déjà un sous-sous... répertoire)

Je pense que dans ce cas, le plus simple est de demander à l'utilisateur le chemin d'enregistrement et le nom du fichier.

Par contre cela compromet l'attache automatique dans le mail (c'est pour cela que dans ma demande cela me semblais être compliqué de le faire)...

MAIS !!

Si j'ai bien compris le fonctionnement de ta macro, le PDF est placé dans le répertoire ou se trouve le fichier excel, donc si je demande de créer un répertoire "OPR_Request" aux utilisateurs n'importe ou dans leur PC, cela devrais résoudre la question... non?

et alors ne pas demander le chemin à l'utilisateur pour la sauvegarde, juste adapter le nom du fichier PDF (un combiné de "OPR_" et les valeurs dans D11 à 14).

Toujours pour l'impression, je constate que l'onglet "OPR info" est imprimé, mais ce sont les onglets "Information Page" et celui inclus en "B4" qui devrais l'être. Est-ce possible?

Concernant le mail, tu m'avais aussi dis que tu voulais un exemple concret des destinataire.

en "to" je voudrais pouvoir inclure 2 mails, donc par exemple "john.smith.1@exemple.ex" et "john.smith.2@exemple.ex"

en "cc" je voudrais inclure 4 mails : "john.smith.3@exemple.ex", "john.smith.4@exemple.ex", "john.smith.2@exemple.ex" mais aussi le PM donc la valeur en B8 de l'onglet "OPR INFO"

La valeur est actuellement "prénom nom téléphone" mais je peux adapter la "droplist" et mettre "prénom.nom téléphone" ce qui permettrait de soustraire facilement la valeur téléphone" qui est régulière "(+32 xxx xx xx xx)" donc 19 caractères en comptant l'espace entre le nom et le téléphone et ajouter "@exemple.ex" a ceci.

j'espère être clair......

Encore merci de t'occuper de mon fichier, je te suis très reconnaissant.

Bonjour ,

Donc pour les questions :

donc si je place un nouvel onglet en gris clair, je vois que la liste change, idem si je change le nom d'un onglet... --> je n'ai pas à changer toutes mes formules, juste une partie (avec le nom trop long...)

correct?

Si oui, je pense que, en effet, ceci est plus souple pour beaucoup de choses...

au niveau de l'affichage des colonnes, pourrais tu décrire comment cela fonctionne stp

Pour l'affichage des colonnes c'est la partie...ben qui ne reste pas souple justement...je n'ai absolument aucune idée de comment rendre ca variable...

Définir un emplacement pour le fichier est assez difficile car chaque utilisateur à son propre répertoire, même si le but est de le mettre dans un SharePoint

Dans ce SharePoint cela est classé 1 répertoire par année et 1 sous-répertoire par projet (le répertoire par année est déjà un sous-sous... répertoire)

Je pense que dans ce cas, le plus simple est de demander à l'utilisateur le chemin d'enregistrement et le nom du fichier.

Par contre cela compromet l'attache automatique dans le mail (c'est pour cela que dans ma demande cela me semblais être compliqué de le faire)...

Quand tu dis fichier tu parle du fichier Excel ou du PDF?

Ce que j'ai fais c'est j'enregistre une copie du PDF sur le c:, après création le PDF va s'ouvrir est à partir de la l'utilisateur avec "Enregistrer sous" pourra facilement l'enregistrer à l'emplacement voulu

Ok ou pas Ok?

Concernant le mail, tu m'avais aussi dis que tu voulais un exemple concret des destinataire.

en "to" je voudrais pouvoir inclure 2 mails, donc par exemple "john.smith.1@exemple.ex" et "john.smith.2@exemple.ex"

en "cc" je voudrais inclure 4 mails : "john.smith.3@exemple.ex", "john.smith.4@exemple.ex", "john.smith.2@exemple.ex" mais aussi le PM donc la valeur en B8 de l'onglet "OPR INFO"

La valeur est actuellement "prénom nom téléphone" mais je peux adapter la "droplist" et mettre "prénom.nom téléphone" ce qui permettrait de soustraire facilement la valeur téléphone" qui est régulière "(+32 xxx xx xx xx)" donc 19 caractères en comptant l'espace entre le nom et le téléphone et ajouter "@exemple.ex" a ceci.

Pour le mail j'espère avoir bien compris, essai sur le fichier joint j'ai créé un petit formulaire permettant aux utilisateurs d'ajouter les To et Cc qui les intéressent, dit moi si ceci te convient (peut-être que je n'ai pas compris d'où tu cherche tes "john.smith".

Si ca te convient je te laisse le soin de faire la mise en forme du formulaire, j'ai vraiment travaillé à l'arrache comme dise les jeunes

Tu noteras que j'ai commenté les macros.

Voila bonne lecture et en attente de ton retour,

Cordialement,

12opr-request.zip (351.98 Ko)

Petite correction sur le dernier message,

au niveau de l'affichage des colonnes, pourrais tu décrire comment cela fonctionne stp

J'ai peut être une idée pour rendre cela souple justement, tu pense qu'il sera possible d'indiquer sur chaque feuille "Type of OPR" (comme "Simple OPR") dans une cellule quelconque la plage de colonne correspondante au tableau à afficher sur "OPR info" ?

Par exemple sur la feuille "Simple OPR", dans la cellule CT3 j'indiquerai la valeur "L:R", la plage de colonne à afficher sur la feuille "OPR info"

Encore une petite question :

et alors ne pas demander le chemin à l'utilisateur pour la sauvegarde, juste adapter le nom du fichier PDF (un combiné de "OPR_" et les valeurs dans D11 à 14).

Si par exemple les cellules D11 à D14 contiennent "A", "B", "C" et "D" le nom du fichier serait "OPR_ABCD" c'est ca?

Si oui, dans ton fichier la cellule D11 contient un nombre à virgule, donc ceci ne peut pas être utilisé pour nommer un fichier (on peut remplacer la virgule par autre chose ceci dit)

Cordialement,

13opr-request.zip (353.26 Ko)

Bonjour StreetChris82,

ça commence a prendre forme, génial.

Avec les commentaires dans le code et tes explication je commence à comprendre comment ca marche

Oublie la partie colonne à afficher, je vais continuer sur la lancée avec le code existant, de plus ce que j'ai en tête pour les futures expensions va en partie être repris dans l'existant, donc pas de soucis.

Quand je dis fichier je parle aussi bien du excel que du pdf, chaque utilisateur as un répertoire de travail sur son PC et une sauvegarde commne sur un sharepoint commun. Donc chacun fait la création/modification sur son pc et ensuite le sauve sur le sharepoint, ce qui permet de reprendre le travail de chacun en cas d'absence par exemple.

Si je comprend bien le fonctionnement actuel du excel :

- Quand on clique sur le bouton, cela crée un PDF temporaire et il n'y as plus qu'a faire un "save as".

- Quand on crée une nouvelle demande, on clique sur le bouton et le nouveau PDF écrase l'ancien "PDF temporaire" et on peux aussi le faire le "save as".

Cela me conviens parfaitement. d'autant que le fichier excel est aussi à sauvegarder avec le nom de la demande, ce qui permet de faire d'éventuelle modification sur la demande sans devoir tout refaire (encore quelque chose que j'ai oublié de dire... sorry).

Concernant le mail, j'ai 2 destinataires fixe en TO et 3 destinataires fixes dans le CC (que je pourrai mettre moi même dans le code comme il étais dans la version précédente de ton travail) d'ou les "John Smith".

Juste me montrer comment mettre plusieurs mail dans le code via un exemple...

Mais il y as aussi le PM inclus dans l'onglet"OPR info".

J'ai ajouté dans la partie "drop list" une suggestion, peut-être serais t'il plus simple de faire un lookup entre la valeur de la cellule B8 de l'onglet "OPR INFO" et la valeur de la collone D dans l'onglet "drop list" correspondante... (voir le fichier joint), ou voir d'inclure via une simple formule le mail du PM en B9 de l'onglet "OPR INFO" et prendre cette référence pour le mail

Je pense que le formulaire est un peux superflux, surtout que 5 des 6 destinataires à indiquer sont toujours les mêmes.

Bonjour Heavy,

Cool on avance .

Si je comprend bien on est quasiment bon?

Dans le fichier joint j'ai enlevé le formulaire et ajouter en dur les destinataires To et Cc avec le code suivant que tu peux trouver dans le module Sub_additionnel.Envoyer_mail :

With oMailItem
   .To = "john.smith1@blabla.com; john.smith2@blabla.com; john.smith2@blabla.com"
   .CC = "john.smith4@blabla.com; john.smith@blabla.com; " & Sheets("OPR info").Range("B9").Value
   .Subject = "A définir"
   .BodyFormat = olFormatPlain
   .Body = Func_additionnel.InsertionCommentaireMail(Sheets("OPR info").Range("B2").Value, sBody)
   .Attachments.Add repertoryPath & fileName
   .Display        ' A décommenter si tu souhaite que le mail s'affiche avant envoi manuel
   '.Send          ' A décommenter si tu souhaite l'envoyer directement
End With

Note que pour les Cc j'ai mis l'adresse supplémentaire à la fin (dans l'exemple je prend la cellule B9 pour référence).

Voila on devrait être pas mail

En attente de ton retour,

Cordialement,

6opr-request.zip (347.84 Ko)

Hello Streetchris82,

On est vraiment à un cheveux maintenant.

Tout fonctionne comme je l'avais pensé à un détail...

le nom du PDF dans le mail. En le plaçant en automatique il prend le non par défaut "OPR_" ce qui n'est pas très "parlant" pour les gens qui le recoivent et l'enregistre.

Serais-il possible que celui-ci porte en automatique le nom dans la cellule C13 de l'onglet "Information Page" --> le nom serais "OPR_'valeur C13'".

Désolé de changer d'avis, mais je vois les soucis arriver...

Autre petite chose, serais-t'il possible que le sujet de mail soit automatique aussi?

Genre : "Demande OPR pour le projet 'Valeur B10_OPR info' 'Valeur C13_Information page'"

Comme dit plus haut je vois les mails de retour car le nom est incorecte dans le fichier (ce que je comprend, je me met à la place du gars qui le reçois).

J'ai ajouté une valeur en B10 de OPR info (je ferais un menu déroulant avec les valeurs possible plus tard). Je modifierai aussi légérement la présentation et donc les cellules dans le code s'il le faut plus tard...

Désolé de t'embêter un peux plus... et encore merci pour le travail déjà accomplis.

11opr-request.zip (347.41 Ko)

Hello Heavy,

Voici la nouvelle fournée dont voici les modifications :

- Le nom du PDF prend bien la valeur indiqué en C13 de information Page, cependant les "." posent problème pour le nom du fichier je "nettoie" la valeur de C13 avant de la prendre en nommage, par exemple 123456.789 va devenir 123456_789, est-ce que ca te convient quand même?

- Idem pour le sujet du mail mais la aucun traitement de la valeur

- Dernier point concernant les destinataires To et Cc, je me suis permis sur la page Drop List de rajouter 2 tableaux supplémentaire contenant la liste des mails à envoyer, ceci t'évitera de taper directement dans le code si une de ses adresses devait changer, note aussi que le dernier mail du tableau Cc va récupérer la valeur de la cellule B9 de la page OPR info (si j'ai bien tout suivi)

Voila, voila, n'hésite pas à me remonter s'il devait manquer quelque chose et si c'est ok tu peux mettre ce post comme résolu.

Cordialement,

7opr-request.zip (346.01 Ko)

GENIAL !!!!!

mais apparement problème avec le mail :

le sujet indique juste "Demande OPR pour le projet Commercial -" il manque le reste...

et rien dans To et CC...

Je te joint une copie d'écran...

capture

Pour le reste impecable.

encore une chtite question, comment cacher le code VBA dans excel? afin que personne ne puisse le modifier .

Merci

Oups

Oui j'ai du travailler sur le PC de ma conjointe dont Outlook n'est pas configuré donc pas pu tester les modifications, je peux checker ca dans la soirée sans soucis

Pour verrouiller le code :

sans titre sans titre1

Bonne fin de journée,

Cordialement,

Ok, j'attend pour le test, en attendant encore merci pour ton temps et ta patience.

Rechercher des sujets similaires à "simplification code ajout boutton"