Ou mettre les macro VBA ?
brunoooooo
Messages postés
11
Statut
Membre
-
brunoooooo Messages postés 11 Statut Membre -
brunoooooo Messages postés 11 Statut Membre -
Bonjour,
j'ai fais une petite macro, bien sympa, qui fait :
a partir d un formulaire excel, genere un mail outlook en attachant le fichier excel apres enregistrement, va generer à partir d'excel une confirmation du formulaire sur word, l enregistre et envoie par mail,
Ma problématique :
ce formulaire doit etre utiliser par de nombreux utilisateurs, j ai mis la macro sur "this workbook",
selon le besoin de la macro, j ai du ouvrir plusieurs reference, bibilotheques entre autres ce qui export, import , application outlook, word ...
j'ai fais des tests, sur d autres ordi, ca marche bien sur les autres collegues de travail,
Cependant sur les ordi portables ...non,
Que dois je verifier ? sachant que je m y connais pas des masses en VB ? comment m assurer que sur "N" autres postes, ca marchera ?
car sur les autres postes, nottament les ordi portables, on dirait qu il ya un pb de reference, de bibilotheques ...
que faire ?
Merci de votre aide,
j'ai fais une petite macro, bien sympa, qui fait :
a partir d un formulaire excel, genere un mail outlook en attachant le fichier excel apres enregistrement, va generer à partir d'excel une confirmation du formulaire sur word, l enregistre et envoie par mail,
Ma problématique :
ce formulaire doit etre utiliser par de nombreux utilisateurs, j ai mis la macro sur "this workbook",
selon le besoin de la macro, j ai du ouvrir plusieurs reference, bibilotheques entre autres ce qui export, import , application outlook, word ...
j'ai fais des tests, sur d autres ordi, ca marche bien sur les autres collegues de travail,
Cependant sur les ordi portables ...non,
Que dois je verifier ? sachant que je m y connais pas des masses en VB ? comment m assurer que sur "N" autres postes, ca marchera ?
car sur les autres postes, nottament les ordi portables, on dirait qu il ya un pb de reference, de bibilotheques ...
que faire ?
Merci de votre aide,
Configuration: Windows XP Internet Explorer 6.0
1 réponse
-
Salut,
une macro peut être mise dans le classeur courant ou dans le classeur commun à excel (perso.xls, qui est un classeur caché).
Pour ce qui est de la résolution des références, pas de miracle à attendre du côté de la macro, seule l'installation correcte des différents composants auxquels tu accèdes (outlook, word...) garantit le fonctionnement...
-
ok, donc si je veux que la macro soit utiliser par tous utilisateurs, sur postes differents ... je laisse la macro dans "this workbook" ?
Par contre, la macro marche tres bien sur la pluspart des postes ou j ai tester sauf sur certains ordi portable
sinon voila la macro, c pas tres propre mais ca marche ,
Sub ValidationSaisie()
Range("f10").Select
If ActiveCell = "" Or ActiveCell < 4 Then
ActiveWorkbook.Save
'Range("a42 ").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
MsgBox "- Vérifier Formulaire" & vbCrLf & "- Récupérer impression" & vbCrLf & "- Envoyer mail", vbInformation, "CM CIC Marchés"
' & vbCrlf & ou & Chr(13) & ou & Chr(10)& = permet de passer à la ligne
'Range("'Cap&Floor'!C3").Select
Dim outlap2 As New Outlook.Application
Dim outmail2 As mailitem
Set outlap2 = New Outlook.Application
Set outmail2 = outlap2.createitem(olMailItem)
With outmail2
.To = Range("'listes'!C3").Value
.CC = Range("'listes'!C4").Value
.Subject = Range("'listes'!C5").Value
'.Body = Range("'listes'!C6").Value
.Body = vbCrLf & vbCrLf & "Bonjour," & vbCrLf & vbCrLf & "Veuillez trouvez ci joint le formulaire descriptif du deal, " & vbCrLf & "cordialement,"
.ReadReceiptRequested = True
.Attachments.Add ActiveWorkbook.FullName
'.Send
.Display
End With
'test ========== de la copie word et imprim pre conf'
Sheets("listes").Visible = True
Sheets("confirm").Visible = True
Sheets("confirm").Select
Range("a1:h83").Copy
'Sheets("collar").Select
Set WW = CreateObject("word.application")
WW.Visible = True
WW.documents.Add
'''' mise en page word
WW.Selection.Paste Special
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Application.CutCopyMode = False
'i = InputBox("nom du fichier ???")
''''''''''''WW.ActiveDocument.SaveAs "C:\Preconfirmation.doc"
'WW.ActiveDocument.SaveAs "C:\Preconfirmation.doc"
'With Application
'MonUserActif = UserName
'End With
'WW.Tables(1).AutoFitBehavior wdAutoFitWindow
' Selection.PageSetup.LeftMargin = 2
'.LeftMargin = Application.InchesToPoints
Dim hhh As String
Dim nomfich As String
hhh = Now
nomfich = "\preconf " & hhh & ".doc"
nomfich = Replace(nomfich, "/", "_") ', Replace(nomfich, ":", "_")
nomfich = Replace(nomfich, ":", "_")
'MsgBox " mon nom user is : " & Mondoss
'''''''''bonnne ==== WW.ActiveDocument.SaveAs Path & "\preconf.doc"
WW.ActiveDocument.SaveAs Path & nomfich
'Range("a42 ").Select
'WW.objectSelect
'ActiveWorkbook.Close
'Fin test de la copie word et imprim pre conf'
'Documents.SaveAs ("C:\Documents and Settings\USER\PreconfCli")
'WW.Documents.Add App.Path & "\Preconf.doc"
'With outmail2
'.Attachments.Add WW
'End With
'''''''''''test mail 2
Dim myattachments As Variant
Dim outlap3 As New Outlook.Application
Dim outmail3 As mailitem
Set outlap3 = New Outlook.Application
Set outmail3 = outlap3.createitem(olMailItem)
With outmail3
.To = "xxx"
'.CC =
.Subject = nomfich
'.Body = Range("'listes'!C6").Value
.Body = vbCrLf & vbCrLf & "Bonjour," & vbCrLf & vbCrLf & "Veuillez trouvez ci joint la génération automatique de préconfirmation, " & vbCrLf & "cordialement,"
.ReadReceiptRequested = True
'.WW.Attachments.Add nomfich
'.Attachments.Add ActiveWorkbook.FullName
.Attachments.Add Path & "\" & nomfich
'.Send
.Display
End With
'''''''''''''''''''''''''''''' fin de test
Sheets("listes").Visible = False
Sheets("confirm").Visible = False
Sheets("Cap&Floor").Select
Range("e7").Select
Else
MsgBox "VALIDATION INCOMPLETE",vbExclamation, "xxxMarchés"
End If
'Set XL = Excel.Application
'XL.Visible = True
End Sub
-