Accéder à un bout de code

Résolu
Co_nexion Messages postés 333 Statut Membre -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je souhaiterai mettre un bouton de commande sur un onglet excel (excel 2010) et qui me renvoie directement à un bout du code dans le module 2 par exemple.

Il s'agit en fait de pouvoir changer l'adresse mail programmé en VBA.

Si vous avez une solution plus simple, je suis preneur

3 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Voir peut être le problème dans l'autre sens...
    Si j'ai bien compris, votre code VBA fait appel à une adresse mail "en dur" dans le code. Il suffit, si j'ai bien compris votre question, de placer cette adresse mail dans votre cellule et que le code fasse appel à cette cellule.

    Exemple :
    avant :
    Dim AddMail As String
    AddMail = "machin.truc@bidule.fr"

    après :
    Dim AddMail As String
    AddMail = Sheets("Feuil18").Range("C11").Value

    et saisir, en feuille Feuil18, dans la cellule C11 votre adresse mail. A chaque changement, le code en tiens compte...

    ... ou alors je n'ai rien compris à la demande
    0
    1. Co_nexion Messages postés 333 Statut Membre
       
      Bonjour Pijaku,

      Il me semble que tu as tout compris !!!!
      J'essaie ça au plus vite. En tout cas merci pour la réactivité !
      0
  2. Co_nexion Messages postés 333 Statut Membre
     
    Bonjour Pijaku,

    Merci pour cette idée qui était l'optimisation que je cherchais.

    Une autre question, comment de cette manière mettre plusieurs receveurs, disons 4 au maximum mais si les cellules ne sont pas remplis cela prends en compte seul celles qui sont remplies.

    Voici le code que j'utilise

    Sub EnvoiMail()
      Workbooks("Tableau de bord").SendMail Recipients:=Sheets("Sommaire").Range("C20").Value, _
                              Subject:="Tendance", _
                              ReturnReceipt:=False
                              
    End Sub
    0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    comment de cette manière mettre plusieurs receveurs
    avec une boucle :
    Sub EnvoiMail()
    Dim Lig As Byte
    'pour les lignes de 20 à 30 (donc de la cellule C20 à C30 :
    For Lig = 20 To 30
    Workbooks("Tableau de bord").SendMail Recipients:=Sheets("Sommaire").Range("C" & Lig).Value, _
                              Subject:="Tendance", _
                              ReturnReceipt:=False
    Next Lig       
    End Sub

    mais si les cellules ne sont pas remplis cela prends en compte seul celles qui sont remplies
    en ajoutant un test :
    Sub EnvoiMail()
    Dim Lig As Byte
    For Lig = 20 To 30
         If Sheets("Sommaire").Range("C" & Lig).Value <> "" Then
              Workbooks("Tableau de bord").SendMail Recipients:=Sheets("Sommaire").Range("C" & Lig).Value, _
                              Subject:="Tendance", _
                              ReturnReceipt:=False
         End If
    Next Lig
    End Sub
    0