Pour enlever la demande de validation, mets en commentaire (apostrophe en début de ligne) les lignes suivantes (en gras souligné) :
Edit : Modifier les lignes en gras comme dit précédemment :
If GetAttr(PathName) And vbReadOnly Then 'Si le fichier est en lecture seule ret = MsgBox("Ce fichier est en lecture seule, voulez-vous y acceder en écriture ?" & vbNewLine _ & vbNewLine & "Pensez à enregistrer vos modifications par la suite", vbYesNo, titre) 'message pour demander si on veut y accéder en lecture écriture If ret = vbNo Then Exit Sub 'Si non, on quitte le programme SetAttr PathName, vbNormal 'Si oui, on enlève la lecture seule dans Windows Part.FileReload ret = Part.ReloadOrReplace(False, Part.GetPathName, True) Part.FileReload 'On recharge le document dans SolidWorks Else 'Sinon (= fichier en lecture écriture) ret = MsgBox("Ce fichier est en lecture écriture, voulez-vous le remettre en lecture seule ?", vbYesNo, titre) 'message pour demander si on veut y accéder en lecture seule If ret = vbNo Then Exit Sub 'Si non, on quitte le programme SetAttr PathName, vbReadOnly 'Si oui, on met la lecture seule dans Windows Part.FileReload ret = Part.ReloadOrReplace(False, Part.GetPathName, True) Part.FileReload 'On recharge le document dans SolidWorks End If End Sub
Re : modifiée comme précédemment, la macro met en écriture les fichiers en lecture seule et en lecture seule les fichiers en écriture.
Pour avoir uniquement la mise en écriture modifie la fin de ta macro par celle-là :
If GetAttr(PathName) And vbReadOnly Then 'Si le fichier est en lecture seule 'ret = MsgBox("Ce fichier est en lecture seule, voulez-vous y acceder en écriture ?" & vbNewLine _ & vbNewLine & "Pensez à enregistrer vos modifications par la suite", vbYesNo, titre) 'message pour demander si on veut y accéder en lecture écriture 'If ret = vbNo Then Exit Sub 'Si non, on quitte le programme SetAttr PathName, vbNormal 'Si oui, on enlève la lecture seule dans Windows Part.FileReload ret = Part.ReloadOrReplace(False, Part.GetPathName, True) Part.FileReload 'On recharge le document dans SolidWorks Else End If End Sub