Ou mettre les macro VBA ?

brunoooooo Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
brunoooooo Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
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,
A voir également:

1 réponse

blux Messages postés 27109 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
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...
0
brunoooooo Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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
0