Bien bonjour a tous,
Lorsque je dessine une pièce simple ( sans gros assemblage ), j'utilise actuellement une macro qui enregistre la pièce dans un nouveau dossier creé par la macro, elle y enregistre également une mise en plan de cette pièce et un PDF de cette mise en plan.. Maintenant jai un répertoire Excel dans lequel j'ai un suivi de tous mes projets en cours. J'aimerai que cette macro remplisse également ce répertoire avec le nom, la date, un lien hypertexte du chemin...
Ma première question est donc: Quel code puis-je utiliser ouvrir excel et fichier excel?
Et la deuxieme : Quel code puis-je utiliser pour simplement écrire dans une cellule d'un fichier ecxel ( à partir du VBA solidworks )?
Puis, je pense que je pourrais me débrouiller pour la suite..
Merci d'avance!
Bonne journée
Bonjour,
Regarde dans l'exemple SUIVANT, tu devrais y trouver ce que tu veux.
Cordialement,
Bonjour, je n'ai pas vu ce qui m'intéresse dans votre exemple et jai trouver très peu d'exemple de communication SolidWorks --> Excel, mais depuis ce matin, j'ai reussi a bien avancer sur la question .
Pour ceux qui cherche une solution a un problème similaire :
'Pour ouvrir mon fichier excel :
Set App = CreateObject("shell.Application")
MonFichier = "C:\Users\sstagemaint\Desktop\SUIVI PROJETS.xlsm"
App.Open (MonFichier)
'Objets pour les commandes dans le fichier excel:
Dim Workbook As Object
Dim Sheet As Object
Dim exApp As Object
Set exApp = CreateObject("Excel.Application") ' Selection de l'application Ecxel
Set Workbook = exApp.Workbooks("SUIVI PROJETS.xlsm") ' Selection du Classeur dans l'application
Set Sheet = Workbook.sheets("Feuil1") ' Selection de la feuille dans le classeur
' Selectionner la cellule C8 depuis le Vba SolidWorks:
Sheet.Range("C8").Select ' Selection de la cellule dans la Feuille
Voila, Jai finalement resolu le problème plus facilement que je ne pensait.
Merci quand meme pour la réponse.
Cordialement
Ben pourtant dans mon exemple il y a tout ce qu'il faut et après nettoyage de ce qui ne sert pas dans ton cas cela donne par exemple :
Sub OpenExcel()
Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
Dim wbk As Excel.Workbook
Dim sht As Excel.Worksheet
With xlApp
.Visible = True
Set wbk = .Workbooks.Add ==> pour ouvrir un nouveau classeur (*)
'Set wbk = .Workbooks.Open("C:\monfichier.xls") ==> pour ouvrir un classeur existant (*)
Set sht = wbk.ActiveSheet
End With
With sht
.Range("A1").Value = "Cellule 1"
.Range("A2").Value = "Cellule 2"
.Range("A3").Value = "Cellule 3"
.Range("A4").Value = "Cellule 4"
.Range("A5").Value = "Cellule 5"
.Range("A6").Value = "Cellule 6"
End With
End Sub
(*) Mettre une des lignes suivant ce que tu veux faire
Et bien sûr, il ne faut pas oublier de mettre la référence à "Microsoft Excel xx.0 Object Library".
Cordialement,