Colonne non vide -> envoie mail

Bonjour,

Je souhaite pouvoir envoyer un mail à un préparateur à partir du moment ou je met son nom dans un cellule

(les noms sont dans un tableau sur une autre feuille 'listes')

image

Tant qu'il n'y a rien dans la case, il ne se passe rien, dès que je mets le nom, ça enverrait un mail (le mail apparait dans la colonne à coté du nom)

Onglet listes :

image

J'ai tenté différentes choses mais rien de cohérent vu que j'ai pas les bases :)

Merci pour votre grande aide

Cdlt

Bonjour,

Tu devrais pouvoir t'en sortir avec ça en complément de ton dernier sujet

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Then
    DerPrepa = Cells(Rows.Count, 3).End(xlUp).Row
    For Preparateur = 3 To DerPrepa
        If Cells(Preparateur, 3) <> "" Then DestinataireMail = Cells(Preparateur, 4)
        EnvoiMail
    Next Preparateur
End If

'Sub EnvoiMail()
'    .To = DestinataireMail
'End Sub

A+

Désolé mon message n'était pas passé : Merci

ça marche pas encore mais je creuse :')

Bonjour,

J'essaie de comprendre pourquoi ça marche pas, j'ai mis des commentaires de ce que j'aimerais bien que ça fasse

'Si qqchose bouge en colonne 3

If Target.Column = 3 Then

'Je localise la ligne

DerPrepa = Cells(250, 3).End(xlUp).Row

'Si la case colonne 3 n'est pas vide, prendre l'adresse en colonne 4 et envoyer le mail

If Cells(DerPrepa, 3) <> "" Then DestinataireMail = Range(Cells(Target.Row, 1), Cells(Target.Row, 18)).Value

EnvoyerMail DestinataireMail

'si possible rajouter un sinon ou else if "vide" ne rien faire car c'est pas encore attribué

End If

Y'a forcement des erreurs qui vont vous piquer les yeux :D

Bonjour,

Tu peux joindre ton fichier sans info confidentielles / personnelles ?

image

Ton code, tu devrait le mettre dans

image

Pour plus de lisibilité.

A+

Bonjour!

J'ai réussi a me dépatouiller en créant une "autre fonction"

'check Modif nom préparateur dans colonne B (=3)
If Target.Column = 3 Then
' On récupère toutes les données de la ligne
Arr = Range(Cells(Target.Row, 1), Cells(Target.Row, 18)).Value
If Cells(Target.Row, 3) <> "" Then
EnvoiMail Arr
End If

Je pensais que EnvoyerMail était une fonction "connue" d'excel mais en fait on peut créer une fonction et l'appeler comme on veut "SendMail / EnvoiMail /envoiEmail etc :)

merci j'ai compris

ça sera tout, pour le moment, merci pour tout Geof52

Ps : il me faut des commentaires pour comprendre le fonctionnement :)

Un dernier challenge... :)

dans la colonne R, les utilisateurs mettent le nom du colis et créer un lien hyper text (du style file:///, lien qu'on peut cliqué dessus pour arriver sur le dossier du colis)

j'aimerais récupérer ce lien (pas le texte de la case colis XX mais le lien) pour l'ajouter à la fin de mon mail en lien hyperlink.

Lien
COLIS XX

C'est jouable?

j'ai essayé : GetHyperlinkAddress mais ça donne rien, l'idéal serait de chopper le lien qu'utilise followhyperlink mais je bloque.

Merci :)

Bonjour,

For Each h In Worksheets(1).Hyperlinks
LienH = h.Address
Next

A+

Merci pour ta réponse,

mais ça me récupère COLIS XX, alors que je veux le lien associé (file:///etcetc)

Et j'aimerais copier ce lien dans la colonne (+3)

For Each h In Worksheets(1).Hyperlinks
LienH = h.Address
MsgBox LienH
Cell.Offset(0, 3).Value = LienH
Next h

Tu as la fenetre des variables locales actif ?

"h.Address" doit donner le lien

image

Et pour l'écrire en Colonne + 3 :

For Each h In ThisWorkbook.ActiveSheet.Hyperlinks
    LienH = h.Address
    Cells(h.Range.Row, h.Range.Column + 3).value = LienH
Next h

Non, c'est vide

image

Il faut lancer ta macro (Touche [F8]),

Continuer la touche [F8] jusqu'a mettre la feche jaune sur h.address

image

et regarder les variables locales

ça ne fait rien du tout, quand je lance avec F5, ça ne me lance qu'une des macros (un bouton de création de dossiers)

F8 n'a aucune action

F5 = Execution de la macro

F8 = Execution pas a pas

Sinon tu peux envoyer le fichier comme demandé dans mon 2eme message

image

Ok je te prépare ça :) merci

3v5-tentative.xlsm (52.11 Ko)

Voilà, j'ai beaucoup de commentaires dedans :)

Bonjour,

Ton fichier est protégé par un mot de passe.

désolé

2v5-tentative.xlsm (51.27 Ko)

J'ai ajouté a la fin de la création de dossier les lignes permettants de générer le lien en colonne U.

J'ai aussi modifié la partie ou tu travail sur les ligne 3 a 250 pour recupérer la derniere ligne de "prépa Colis".

J'ai mis la gestion de mail dans un module a part.

Rechercher des sujets similaires à "colonne vide envoie mail"