Accéder à un bout de code

Résolu
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

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    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
    1. 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
      1. Modérateur
        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
        1. Bonjour Pijaku,

          Il me semble que tu as tout compris !!!!
          J'essaie ça au plus vite. En tout cas merci pour la réactivité !