Microsoft 365 VBA - excel vers Acces

Keiko

XLDnaute Occasionnel
Bonjour à tous,

J'ai un petit souci avec un code qui marchait bien et qui maintenant me pose souci.
Ce code envoie mes données dans acces, enregistre mes dossiers sous forme excel et pdf sur mon pc et dans sharepoint et en plus ouvre outlook et met le pdf en pièce jointe avec l'adresse du client.

Le code marche une fois puis m'envoie une message d'erreur.
Je l'efface et je réenregistre et la ca fonctionne.
Pouvez-vous m'en dire plus ?
Voyez vous une erreur dans le code?

Sub basededonnees()

If MsgBox("Voulez vous exécuter la macro ?", vbYesNo) = vbNo Then Exit Sub

Dim MonFichierAccess As Database
Dim MaTableDansAccess As DAO.Recordset

Set MonFichierAccess = OpenDatabase("\\unitedfocusbe.sharepoint.com@SSL\DavWWWRoot\sites\UnitedPV\Documents partages\General\Database.accdb")
Set MaTableDansAccess = MonFichierAccess.OpenRecordset("Clients", dbOpenTable)

MaTableDansAccess.AddNew
MaTableDansAccess.Fields("Chiffre") = Range("A2").Value
MaTableDansAccess.Fields("Com") = Range("A3").Value
MaTableDansAccess.Fields("Nom du commercial") = Range("D11").Value
MaTableDansAccess.Fields("Client") = Range("D15").Value
MaTableDansAccess.Fields("Nom de la société") = Range("D16").Value
MaTableDansAccess.Fields("Mr,Me") = Range("D17").Value
MaTableDansAccess.Fields("Nom") = Range("D18").Value
MaTableDansAccess.Fields("Prénom") = Range("D19").Value
MaTableDansAccess.Fields("Adresse facturation") = Range("D20").Value
MaTableDansAccess.Fields("Numéro facturation") = Range("D21").Value
MaTableDansAccess.Fields("code postal facturation") = Range("D22").Value
MaTableDansAccess.Fields("Localité facturation") = Range("g15").Value
MaTableDansAccess.Fields("Adresse chantier") = Range("G16").Value
MaTableDansAccess.Fields("Numéro chantier") = Range("g17").Value
MaTableDansAccess.Fields("code postal chantier") = Range("g18").Value
MaTableDansAccess.Fields("Localité chantier") = Range("g19").Value
MaTableDansAccess.Fields("Tel") = Range("g20").Value
MaTableDansAccess.Fields("Mail") = Range("g21").Value
MaTableDansAccess.Fields("TVA") = Range("g22").Value
MaTableDansAccess.Fields("Conso actuel") = Range("D26").Value
MaTableDansAccess.Fields("Cout electrique annuel") = Range("D27").Value
MaTableDansAccess.Fields("Jan") = Range("D28").Value
MaTableDansAccess.Fields("Fev") = Range("D29").Value
MaTableDansAccess.Fields("Mar") = Range("D30").Value
MaTableDansAccess.Fields("Avr") = Range("D31").Value
MaTableDansAccess.Fields("Ma") = Range("D32").Value
MaTableDansAccess.Fields("Jui") = Range("D33").Value
MaTableDansAccess.Fields("Jlt") = Range("D34").Value
MaTableDansAccess.Fields("Aou") = Range("D35").Value
MaTableDansAccess.Fields("Sep") = Range("D36").Value
MaTableDansAccess.Fields("Oct") = Range("D37").Value
MaTableDansAccess.Fields("Nov") = Range("D38").Value
MaTableDansAccess.Fields("Dec") = Range("D39").Value
MaTableDansAccess.Fields("Production souhaité") = Range("g27").Value
MaTableDansAccess.Fields("Alimentation") = Range("g28").Value
MaTableDansAccess.Fields("Photo compteur") = Range("g30").Value
MaTableDansAccess.Fields("Photo du teco") = Range("g31").Value
MaTableDansAccess.Fields("Photo du différentiel") = Range("g32").Value
MaTableDansAccess.Fields("Changement différentiel") = Range("g33").Value
MaTableDansAccess.Fields("Mise à la terre") = Range("g34").Value
MaTableDansAccess.Fields("Mise confirmité 9 modules") = Range("g35").Value
MaTableDansAccess.Fields("Mise conformité 18 modules") = Range("g36").Value
MaTableDansAccess.Fields("Mise confirmité 27 modules") = Range("g37").Value
MaTableDansAccess.Fields("Autres travaux") = Range("g38").Value
MaTableDansAccess.Fields("Préciser autres travaux") = Range("g39").Value
MaTableDansAccess.Fields("Type") = Range("d43").Value
MaTableDansAccess.Fields("Préciser type") = Range("d44").Value
MaTableDansAccess.Fields("Photo de la toiture") = Range("d45").Value
MaTableDansAccess.Fields("Orientation") = Range("d46").Value
MaTableDansAccess.Fields("Inclinaison") = Range("d47").Value
MaTableDansAccess.Fields("Charpente") = Range("d48").Value
MaTableDansAccess.Fields("Préciser charpente") = Range("d49").Value
MaTableDansAccess.Fields("Photo charpente") = Range("g43").Value
MaTableDansAccess.Fields("Versant") = Range("g44").Value
MaTableDansAccess.Fields("Hauteur sous corniche") = Range("g45").Value
MaTableDansAccess.Fields("Distance onduleur coffret") = Range("g46").Value
MaTableDansAccess.Fields("Distance onduleur pv") = Range("g47").Value
MaTableDansAccess.Fields("+- 10ans") = Range("g48").Value
MaTableDansAccess.Fields("Ombrage") = Range("g49").Value
MaTableDansAccess.Fields("Longueur") = Range("b54").Value
MaTableDansAccess.Fields("Largeur") = Range("C54").Value
MaTableDansAccess.Fields("A2") = Range("b57").Value
MaTableDansAccess.Fields("incl2") = Range("C57").Value
MaTableDansAccess.Fields("Long2") = Range("e57").Value
MaTableDansAccess.Fields("A3") = Range("b60").Value
MaTableDansAccess.Fields("B3") = Range("C60").Value
MaTableDansAccess.Fields("Long3") = Range("f60").Value
MaTableDansAccess.Fields("H4") = Range("b63").Value
MaTableDansAccess.Fields("H4a") = Range("c63").Value
MaTableDansAccess.Fields("A4") = Range("d63").Value
MaTableDansAccess.Fields("Long4") = Range("h63").Value
MaTableDansAccess.Fields("PV1") = Range("d74").Value
MaTableDansAccess.Fields("PV1N") = Range("d76").Value
MaTableDansAccess.Fields("Onduleur 1") = Range("d87").Value
MaTableDansAccess.Fields("Onduleur 1B") = Range("d88").Value
MaTableDansAccess.Fields("Onduleur 2") = Range("d89").Value
MaTableDansAccess.Fields("Onduleur 2B") = Range("d90").Value
MaTableDansAccess.Fields("Garantie onduleur 1") = Range("d91").Value
MaTableDansAccess.Fields("Opti 1") = Range("d92").Value
MaTableDansAccess.Fields("Remise commercial 1") = Range("d97").Value
MaTableDansAccess.Fields("PV2") = Range("f74").Value
MaTableDansAccess.Fields("PV2N") = Range("f78").Value
MaTableDansAccess.Fields("Onduleur 3") = Range("f87").Value
MaTableDansAccess.Fields("Onduleur 3B") = Range("f88").Value
MaTableDansAccess.Fields("Onduleur 4") = Range("f89").Value
MaTableDansAccess.Fields("Onduleur 4B") = Range("f90").Value
MaTableDansAccess.Fields("Garantie onduleur 2") = Range("f91").Value
MaTableDansAccess.Fields("Opti 2") = Range("f92").Value
MaTableDansAccess.Fields("Remise commercial 2") = Range("f97").Value
MaTableDansAccess.Fields("PV3") = Range("h74").Value
MaTableDansAccess.Fields("PV3N") = Range("h76").Value
MaTableDansAccess.Fields("Onduleur 5") = Range("h87").Value
MaTableDansAccess.Fields("Onduleur 5A") = Range("h88").Value
MaTableDansAccess.Fields("Onduleur 6") = Range("h89").Value
MaTableDansAccess.Fields("Onduleur 6") = Range("h90").Value
MaTableDansAccess.Fields("Garantie onduleur 3") = Range("h91").Value
MaTableDansAccess.Fields("Opti 3") = Range("h92").Value
MaTableDansAccess.Fields("Remise commercial 3") = Range("h97").Value
MaTableDansAccess.Fields("Onduleur parallèle 1") = Range("d126").Value
MaTableDansAccess.Fields("Onduleur parallèle suppl 1") = Range("d127").Value
MaTableDansAccess.Fields("Garantie onduleur parallèle 1") = Range("d128").Value
MaTableDansAccess.Fields("Remise commercial parallèle 1") = Range("d137").Value
MaTableDansAccess.Fields("Onduleur parallèle 2") = Range("f126").Value
MaTableDansAccess.Fields("Onduleur parallèle suppl 2") = Range("f127").Value
MaTableDansAccess.Fields("Garantie onduleur parallèle 2") = Range("f128").Value
MaTableDansAccess.Fields("Remise commercial parallèle 2") = Range("f137").Value
MaTableDansAccess.Fields("Onduleur parallèle 3") = Range("h126").Value
MaTableDansAccess.Fields("Onduleur parallèle suppl 3") = Range("h127").Value
MaTableDansAccess.Fields("Garantie onduleur parallèle 3") = Range("h128").Value
MaTableDansAccess.Fields("Remise commercial parallèle 3") = Range("h137").Value
MaTableDansAccess.Fields("Choix du client") = Range("d165").Value
MaTableDansAccess.Fields("Mensualité") = Range("d170").Value
MaTableDansAccess.Fields("Taux") = Range("d171").Value
MaTableDansAccess.Fields("1") = Range("c175").Value
MaTableDansAccess.Fields("2") = Range("c176").Value
MaTableDansAccess.Fields("3") = Range("c177").Value
MaTableDansAccess.Fields("4") = Range("c178").Value
MaTableDansAccess.Fields("5") = Range("c179").Value
MaTableDansAccess.Fields("6") = Range("c180").Value
MaTableDansAccess.Fields("7") = Range("c181").Value
MaTableDansAccess.Fields("8") = Range("c182").Value
MaTableDansAccess.Fields("9") = Range("c183").Value
MaTableDansAccess.Fields("10") = Range("c184").Value
MaTableDansAccess.Fields("11") = Range("c185").Value
MaTableDansAccess.Fields("12") = Range("c186").Value
MaTableDansAccess.Fields("13") = Range("c187").Value
MaTableDansAccess.Fields("14") = Range("c188").Value
MaTableDansAccess.Fields("15") = Range("c189").Value
MaTableDansAccess.Fields("16") = Range("c190").Value
MaTableDansAccess.Fields("17") = Range("c191").Value
MaTableDansAccess.Fields("18") = Range("c192").Value
MaTableDansAccess.Fields("19") = Range("c193").Value
MaTableDansAccess.Fields("20") = Range("c194").Value
MaTableDansAccess.Fields("21") = Range("c195").Value
MaTableDansAccess.Fields("22") = Range("c196").Value
MaTableDansAccess.Fields("23") = Range("c197").Value
MaTableDansAccess.Fields("24") = Range("c198").Value
MaTableDansAccess.Fields("1a") = Range("d175").Value
MaTableDansAccess.Fields("2a") = Range("d176").Value
MaTableDansAccess.Fields("3a") = Range("d177").Value
MaTableDansAccess.Fields("4a") = Range("d178").Value
MaTableDansAccess.Fields("5a") = Range("d179").Value
MaTableDansAccess.Fields("6a") = Range("d180").Value
MaTableDansAccess.Fields("7a") = Range("d181").Value
MaTableDansAccess.Fields("8a") = Range("d182").Value
MaTableDansAccess.Fields("9a") = Range("d183").Value
MaTableDansAccess.Fields("10a") = Range("d184").Value
MaTableDansAccess.Fields("11a") = Range("d185").Value
MaTableDansAccess.Fields("12a") = Range("d186").Value
MaTableDansAccess.Fields("13a") = Range("d187").Value
MaTableDansAccess.Fields("14a") = Range("d188").Value
MaTableDansAccess.Fields("15a") = Range("d189").Value
MaTableDansAccess.Fields("16a") = Range("d190").Value
MaTableDansAccess.Fields("17a") = Range("d191").Value
MaTableDansAccess.Fields("18a") = Range("d192").Value
MaTableDansAccess.Fields("19a") = Range("d193").Value
MaTableDansAccess.Fields("20a") = Range("d194").Value
MaTableDansAccess.Fields("21a") = Range("d195").Value
MaTableDansAccess.Fields("22a") = Range("d196").Value
MaTableDansAccess.Fields("23a") = Range("d197").Value
MaTableDansAccess.Fields("24a") = Range("d198").Value
MaTableDansAccess.Fields("Jour") = Range("d200").Value
MaTableDansAccess.Fields("Mois") = Range("d201").Value
MaTableDansAccess.Fields("Janvier") = Range("g175").Value
MaTableDansAccess.Fields("Février") = Range("g176").Value
MaTableDansAccess.Fields("Mars") = Range("g177").Value
MaTableDansAccess.Fields("Avril") = Range("g178").Value
MaTableDansAccess.Fields("Mai") = Range("g179").Value
MaTableDansAccess.Fields("Juin") = Range("g180").Value
MaTableDansAccess.Fields("Juillet") = Range("g181").Value
MaTableDansAccess.Fields("Aout") = Range("g182").Value
MaTableDansAccess.Fields("Septembre") = Range("g183").Value
MaTableDansAccess.Fields("Octobre") = Range("g184").Value
MaTableDansAccess.Fields("Novembre") = Range("g185").Value
MaTableDansAccess.Fields("Décembre") = Range("g186").Value
MaTableDansAccess.Fields("Janviera") = Range("h175").Value
MaTableDansAccess.Fields("Févriera") = Range("h176").Value
MaTableDansAccess.Fields("Marsa") = Range("h177").Value
MaTableDansAccess.Fields("Avrila") = Range("h178").Value
MaTableDansAccess.Fields("Maia") = Range("h179").Value
MaTableDansAccess.Fields("Juina") = Range("h180").Value
MaTableDansAccess.Fields("Juilleta") = Range("h181").Value
MaTableDansAccess.Fields("Aouta") = Range("h182").Value
MaTableDansAccess.Fields("Septembrea") = Range("h183").Value
MaTableDansAccess.Fields("Octobrea") = Range("h184").Value
MaTableDansAccess.Fields("Novembrea") = Range("h185").Value
MaTableDansAccess.Fields("Décembrea") = Range("h186").Value
MaTableDansAccess.Fields("Info placement PV") = Range("d221").Value
MaTableDansAccess.Fields("Info passage cable") = Range("g228").Value
MaTableDansAccess.Fields("Info placement onduleur") = Range("d221").Value
MaTableDansAccess.Fields("Info Toiture") = Range("g228").Value
MaTableDansAccess.Update

MaTableDansAccess.Close
MonFichierAccess.Close

Dim nom As String

lechemin = ActiveWorkbook.Path & "\"
contrat = Range("A1")
nom = Range("d18")
PANNEAU = Range("d74")
ONDULEUR = Range("d87")
nombre = Range("d76")
Tel = Range("g20")
LIEU = Range("g15")
JOUR = Format(Day(Now()), "00") & Format(Month(Now()), "00") & Year(Now)

nomfichier = contrat & "-" & JOUR & "-" & Format(Time, "hhmmss") & "-" & nom & "-" & Tel & "-" & LIEU & "-" & nombre & "-" & PANNEAU & "-" & ONDULEUR
sharepath = "\\unitedfocusbe.sharepoint.com@SSL\DavWWWRoot\sites\UnitedPV\Documents partages\Devis\"
share = sharepath & nomfichier
localpath = ActiveWorkbook.Path & "\" & nomfichier

Sheets("O<10").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=localpath & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True

Sheets("O<10").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=share & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True

Application.Workbooks(1).SaveCopyAs sharepath & ".xlsm"
Application.ScreenUpdating = False

Application.Workbooks(1).SaveCopyAs localpath & ".xlsm"

'Fonctionne sous excel 2000-2013
Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("outlook.application")
Set OutMail = OutApp.CreateItem(0)

With OutMail
.To = Range("G21")
.CC = "jonathan.dethier@unitedfocus.be"
.Subject = "United Focus - Devis"
.HTMLBody = " " & _
"<html><body><p> United Focus SPRL<br/> Rue de Hermée 245<br/> 4040 Herstal<br/> BE0696.839.882<br/><br/><br/> " & _
Range("'L'!D17") & " " & Range("'L'!D18") & ",<br/><br/> Comme convenu lors de notre entrevue, je vous prie de trouver ci-joint notre proposition commerciale concernant le placement de panneaux " & _
"photovoltaique.<br/> United Focus a la partiularité de vous proposer 6 propositions en 1.<br/> Nous avons pendant l'entrevue déterminé ensemble la " & _
"proposition qui répond le plus à vos attentes :<br/><br/> - Panneau : " & Range("D!GG5") & " " & Range("D!GF5") & "<br/> " & _
"- Onduleur : " & Range("D!GG5") & " " & Range("D!GH5") & "<br/> - Une puissance installée de " & Range("D!GE5") & "WC<br/> - Une production " & _
"estimée de " & Range("D!GD5") & "KW/H<br/><br/> Pour un coût total TVAC de " & Range("D!GB5") & "<br/><br/> Par ailleurs sachez qu' il est tout à fait possible d'adapter le devis si besoin " & _
"à une autre des 6 solutions.<br/><br/> Nous attirons votre attention sur le fait que cette proposition commerciale est valable jusqu'au<br/> Bien évidemment, " & _
"votre conseiller Dethier Jonathan reste à votre disposition pour toutes informations complémentaires.<br/><br/> Pour valider l'offre choisie, merci de nous renvoyer " & _
"la page 3 datée et signée, avec la mention 'lu et approuvé'.<br/><br/><br/> Veuillez agréer, " & Range("'L'!D17") & " " & Range("'L'!D18") & ", nos sincères salutations.<br/><br/><br/> " & _
"Votre conseiller : " & Range("'L'!D11") & " - " & Range("'L'!G11") & " </p></body></html>"
.Attachments.Add localpath & ".pdf"
.Display
End With

Application.ScreenUpdating = False

End Sub


Bien à vous,
 

Statistiques des forums

Discussions
314 698
Messages
2 111 998
Membres
111 387
dernier inscrit
De Montclea