interface excel outlook

wrx924

XLDnaute Nouveau
bonjour,
dans mon fichier excel, j'ai créer un bouton de commande intitulé CommandButton1
la valeur de la cellule B1 = "prenom.nom@fournisseur.fr"

je souhaiterai créer 2 macros afin que la procédure suivante soit automatique.

Macro 1:
1- à l'ouverture du fichier, Excel recherche le nom de la station qui ouvre le fichier et l'inscrit dans la cellule A1 (voir nota ci-dessous),
1-1- si A1="MaStation" alors CommandButton1.enabled = true sinon CommandButton1.enabled = false

Macro 2:
2-lorsque je clic sur CommandButton1 la macro2:
2-1- insére l'image localisé à l'adresse suivante "C:\MesDoc\Picture.jpg",
2-2- créer un nouveau message outlook,
2-3- saisie automatiquement dans le champ "A..." la valeur de la cellule B1,
2-4- saisir automatiquement l'objet du message = valeur de C1,
2-5- saisir automatiquement le message = valeur de D1,

cela est-il possible?
tout cela peut-il se faire en VB dans excel??

Nota:
sous Access le code suivant permet de récupérer le nom de la station utilisée:
Dim stTmp asString, lgTmp as Long
stTmp = Space$(250)
lgTmp = 251
Call GetComputerName (stTmp, lgTmp)
ComputerName = split(stTmp, Chr$(0)) (0)
peut-il être utilisé comme tel dans Excel??

merci d'avance pour votre aide
 
G

Guest

Guest
Re : interface excel outlook

Bonjour,

cela est-il possible?
tout cela peut-il se faire en VB dans excel??

1 - Oui il peut le faire!

2 - Une fonction de John Walkenbach:

Code:
'--------------------------------------------------------
'                  A mettre dans un module
'--------------------------------------------------------
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
 
Function LaMachineSeNomme() As String
    Dim strBuffer As String * 255,  strRetour As String
    Dim lgLong As Long
 
    On Error GoTo Plouf
    strRetour = "J'en sais rien"
    lgLong = GetComputerName(strBuffer, 255)
    lgLong = InStr(1, strBuffer, Chr(0))
 
    If lgLong > 0 Then strRetour = Left(strBuffer, lgLong - 1)
Plouf:
    On Error GoTo 0
    LaMachineSeNomme = strRetour
End Function
 
 
'------------------------
'        Utilisation
'------------------------
 
Private Sub Workbook_Open()
 With Sheets("Feuil1")
    .Range("A1").Value = LaMachineSeNomme()
    .DrawingObjects("CommandButton1").Enabled = .Range("A1").Value = "MaStation" '
  End With
End Sub

3 - Pour le reste, fais des recherches sur le forum, il y a plein d'exemples, commence et reviens avec tes bouts d'éssais, si tu as des problèmes.

A+
 
Dernière modification par un modérateur:

Discussions similaires

Réponses
2
Affichages
293
Réponses
14
Affichages
693
Réponses
2
Affichages
136

Statistiques des forums

Discussions
312 414
Messages
2 088 225
Membres
103 774
dernier inscrit
b'njah974