Condition "SI" et pieces jointes pour mail

sebastien450

XLDnaute Occasionnel
Bonjours a tous et à toutes déja!
J'ai déja posté ici car je fait un projet.
J'explique un peut globalement afin que cela soit plus clair.
Je travaille dans une entreprise où on utilise pour la découpe et l'emboutissage des Outils. Il y a donc une usure de certaines pieces, que j'ai repertoriés et classé. Actuellement je connais donc le fréquentiel de changement des piéces et je sais quand je doit les changer.
Excel intervient là puisque aprés avoir changé les pièces je doit les commander. La maintenance remplis donc un tableau et suivant certain critére dans une case le parametre "commander" s'affiche si besoin.
Je précise que je suis sur Vista et Windows mail mais que dans l'entreprise certains sont avec Vista d'autre Windows 98, HP... et il en ai de meme pour les messageries!
Je souhaite donc envoyer un mail si "Commander" apparait; chose que j'ai réussi a faire , seulement 2 probleme se présente a moi:
Le premier, qui est aussi le plus important est la condition pour envoyer le mail, je n'arrive a l'appliquer que sur une ligne (I12) donc que doit-je modifier sur le code suivant pour quel s'applique sur I4:I9 et I12:I49.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
UserForm1.Show

' rep = InputBox("date")
' Range(Y28) = rep

Sheets("Commande Out XXX").Select
If Range("I12").Value = "" Then
Exit Sub
End If
MailAvecOEouWinMail1

Windows("Gestion Stock Ressorts.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close

End Sub

Voila pour le premier point, le second point, qui est moins important d'un point de vue réalisation est le suivant:
Quand j'envoie mon mail via la fonction ci desus, à la fermeture du fichier Excel, j'aurais bien aimer metre un lien vers le classeur Excel ( il s'agirait d'un fichier mis en réseau). Si cela est trop compliquer ( Systeme d'exploitation diférents, Messagerie différentes...) tant pis il ira lui meme chercher le fichier pour l'ouvrir!
Ci joint le code pour envoyer le mail:
Sub MailAvecOEouWinMail1()

Dim WshShell As Object
Dim Dest As String
Dim Sujt As String
Dim Msg As String
Dim MailProg As String
Dim Env As String, Pos As Integer

Set WshShell = CreateObject("WScript.Shell")
MailProg = "C:\Program Files\Windows Mail\WinMail.exe"
Set WshShell = Nothing
Pos = InStrRev(MailProg, "%")
If Pos > 0 Then
Env = Environ(Mid(MailProg, 2, Pos - 2))
MailProg = Mid(MailProg, Pos + 1)
End If

Dest = "sebastien_seb_5@msn.com"
Sujt = "Test d'envoi avec Excel"
Msg = "Bonjours il faudrait commander pieces dans dossier ci-joint"
Shell Env & MailProg & " /mailurl:mailto:" & Dest & "?subject=" & _
Sujt & "&Body=" & Msg
End
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Condition "SI" et pieces jointes pour mail

Re


En attendant voici de quoi patienter (je te laisse tester et attends tes commentaires en buvant mon café ;) )

Code:
Sub Macro1()
Dim C_OK As Long
Dim Nombre_Cellules As Long

Dim Rng As Range
Set Rng = Sheets(1).Range("C10:D20,F10:G20,K10:L20")

Nombre_Cellules = Rng.Cells.Count
C_OK = Application.CountA(Rng)
    If Nombre_Cellules = C_OK And C_OK > 0 Then
        MsgBox _
        "Saisie correcte - toutes les données ont été renseignées"
    Else
        MsgBox _
        "Erreur - Remplir les cellules vides" & Chr(13) & Chr(13) _
        & vbTab & (Nombre_Cellules - C_OK) & " cellules non-renseignées."
    End If
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Condition "SI" et pieces jointes pour mail

Re


Parce que cela pourra peut-être intéresser d'autres personnes du forum :rolleyes:

Parce que j'ai passé du temps à pondre cette dernière macro...

Mais tu n'es pas obligé de le tester ...

Je passe la main aux suivants

A+
 

sebastien450

XLDnaute Occasionnel
Re : Condition "SI" et pieces jointes pour mail

En effet je ne vais pas la tester car je ne pourrais pas. Ceci dit elle risque de servir a dautres, personellement je pense avoir tous les renseignements que je cherchais!
Par curiosité, existe t'il une macro qui fait que si j'ajout une ligne(ligne 3) sur la feuil1, cela ajoute une ligne Feuil2 (Ligne7 )?
 

Discussions similaires

Réponses
7
Affichages
540
Réponses
2
Affichages
592

Statistiques des forums

Discussions
314 653
Messages
2 111 589
Membres
111 208
dernier inscrit
estalavista