Ou mettre les macro VBA ?

Fermé
brunoooooo Messages postés 11 Date d'inscription lundi 12 mars 2007 Statut Membre Dernière intervention 29 juin 2007 - 2 avril 2007 à 09:10
brunoooooo Messages postés 11 Date d'inscription lundi 12 mars 2007 Statut Membre Dernière intervention 29 juin 2007 - 2 avril 2007 à 14:27
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 26556 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 29 décembre 2024 3 319
2 avril 2007 à 11:06
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 lundi 12 mars 2007 Statut Membre Dernière intervention 29 juin 2007
2 avril 2007 à 14:27
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