Accéder à un bout de code [Résolu/Fermé]

Signaler
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015
-
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
-
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

Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 626
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
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015

Bonjour Pijaku,

Il me semble que tu as tout compris !!!!
J'essaie ça au plus vite. En tout cas merci pour la réactivité !
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015

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
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 626
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