Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
350
Réponses
14
Affichages
719
Réponses
2
Affichages
158
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…