Accéder à un bout de code

Résolu/Fermé
Co_nexion Messages postés 328 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 15 juillet 2015 - 18 juil. 2012 à 14:15
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 19 juil. 2012 à 12:59
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

A voir également:

3 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
18 juil. 2012 à 14:24
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
Co_nexion Messages postés 328 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 15 juillet 2015
18 juil. 2012 à 15:21
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
Co_nexion Messages postés 328 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 15 juillet 2015
19 juil. 2012 à 09:38
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
19 juil. 2012 à 12:59
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