Bonjour tout le monde !
Je viens vers vous car je cherche à me faciliter la vie ! Je suis dessinateur industriel et toutes les pièces que je dessine en 3D, je dois ensuite les faire fabriquer par des sous-traitants. Pour cela je dois créer des fichier .STEP .PDF et .DXF à partir de mon logiciel de conception (SolidWorks). Je dois ensuite dispatcher les pièces en fonction de leur nature chez le sous-traitant concerné : pièces usinées chez l'usineur, pièce mécano-soudée chez le chaudronnier.... Et cette étape est longue et fastidieuse, sans compter les oublis et les erreurs d'envois ^^. Je peux récupérer un tableau Excel du logiciel de conception avec la nature des pièces, leur nom, le chemin complet du dossier.
En bref après avoir récupéré le tableau Excel je veux ajouter un filtre de sélection pour pouvoir afficher juste le type de pièce (pièces usinées par exemple) et qu’une macro ouvre tous les fichiers filtrés du tableau dans SolidWorks. Après via l’autre logiciel je lancerai une autre macro pour générer les fichiers neutres voulus mais il s’agit là d’une autre étape que j'ai déjà plus au moins résolu.
Je voulais donc savoir s’il était possible d’avoir une macro sous un bouton qui permettra d’ouvrir des fichiers en ayant juste le nom des fichiers et le nom du dossier dans lesquels sont mis les fichiers. En sachant que :
- tous les fichiers ne se trouvent pas dans le même dossier,
- tous les fichiers on des noms différents,
- plusieurs dossiers peuvent avoir le même nom,
- pour un nom de fichier, il y a le 3D et le 2D sous le même nom. Par exemple la pièce blabla aura son 3D qui se nommera blabla.SLDPRT et la mise en plan se nommera blabla.SLDDRW. Il faudrait que la macro puisse ouvrir les deux fichiers (qui s’ouvrent avec le même logiciel).
Je cherche depuis un bout de temps déjà sur L'Internet et j'ai réussi à créer un bouton sur Excel qui me permet d'ouvrir une pièce mais la macro n'ouvre que le 3D d'une pièce, en connaissant le nom et le chemin :
Sub Bouton1_Cliquer()
Dim myBool As Boolean
Dim myError As Long, myWarning As Long
myBool = Shell("C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\SLDWORKS.exe", vbNormalFocus)
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.OpenDoc6("C:\Users\SONFVER\Desktop\macro\test\01.sldprt", 1, 1, "", myError, myWarning)
Set swApp = Nothing: Set swModel = Nothing
End Sub
Bon j’espère que j’ai été assez clair dans mon explication ^^ ! Je vois bien ce que je souhaite mais il est facile de s’embrouiller en voulant expliquer ça par écrit…Je fais mes premiers pas dans le vaste monde des macros et j'avoue que je m'y perd un peu .
Merci beaucoup à ceux qui prendront le temps de lire ce post et merci à tous de permettre ce genre d’aide sur la toile.
Je viens vers vous car je cherche à me faciliter la vie
En bref après avoir récupéré le tableau Excel je veux ajouter un filtre de sélection pour pouvoir afficher juste le type de pièce (pièces usinées par exemple) et qu’une macro ouvre tous les fichiers filtrés du tableau dans SolidWorks. Après via l’autre logiciel je lancerai une autre macro pour générer les fichiers neutres voulus mais il s’agit là d’une autre étape que j'ai déjà plus au moins résolu.
Je voulais donc savoir s’il était possible d’avoir une macro sous un bouton qui permettra d’ouvrir des fichiers en ayant juste le nom des fichiers et le nom du dossier dans lesquels sont mis les fichiers. En sachant que :
- tous les fichiers ne se trouvent pas dans le même dossier,
- tous les fichiers on des noms différents,
- plusieurs dossiers peuvent avoir le même nom,
- pour un nom de fichier, il y a le 3D et le 2D sous le même nom. Par exemple la pièce blabla aura son 3D qui se nommera blabla.SLDPRT et la mise en plan se nommera blabla.SLDDRW. Il faudrait que la macro puisse ouvrir les deux fichiers (qui s’ouvrent avec le même logiciel).
Je cherche depuis un bout de temps déjà sur L'Internet et j'ai réussi à créer un bouton sur Excel qui me permet d'ouvrir une pièce mais la macro n'ouvre que le 3D d'une pièce, en connaissant le nom et le chemin :
Sub Bouton1_Cliquer()
Dim myBool As Boolean
Dim myError As Long, myWarning As Long
myBool = Shell("C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\SLDWORKS.exe", vbNormalFocus)
Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.OpenDoc6("C:\Users\SONFVER\Desktop\macro\test\01.sldprt", 1, 1, "", myError, myWarning)
Set swApp = Nothing: Set swModel = Nothing
End Sub
Bon j’espère que j’ai été assez clair dans mon explication ^^ ! Je vois bien ce que je souhaite mais il est facile de s’embrouiller en voulant expliquer ça par écrit…Je fais mes premiers pas dans le vaste monde des macros et j'avoue que je m'y perd un peu
Merci beaucoup à ceux qui prendront le temps de lire ce post et merci à tous de permettre ce genre d’aide sur la toile.