VBA : Objet dessin CAO => Convertir

  • Initiateur de la discussion Initiateur de la discussion quelqun
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Q

quelqun

Guest
Re-Bonjour, je me permet de poser une nouvelle question dans ce post, quelques messages plus bas.


Bonjour,

Je suis en panne, impossible de trouver une solution. Sous excel, la fonction "getopenfile" me permet de demander à l'utilisateur le fichier qu'il veut ouvrir puis ce fichier s'ouvre sous excel.

Mais aujourd"hui je suis sous Visio, et la fonction getopenfile n'est pas reconnue.

J'ai trouvé ce code qui me permet d'ouvrir un document visio depuis visio.

"Dim visApp As Visio.Application
Set visApp = Application
Dim visDoc As Visio.Document
visApp.Application.DoCmd (VisUICmds.visCmdFileOpen)
Set docObj = visApp.ActiveDocument"

Mais j'ai besoin d'ouvir un document DXF (ou DWG) sous visio. Donc à l'ouverture de la boite de dialogue je modifie le type de d'extensions que je recherche. Mais serait il possible de mettre dxf/dwg par défault (ou alors "tous les documents").

Si l'un d'entre vous réussi à m'éclairer j'en serais ravie!!

Merci d'avance.
 
Dernière modification par un modérateur:
Re : VISIO VBA ouvir un fichier dxf

Bonjour Quelqun (ou plutôt Quelqune 😛) et bienvenue 🙂,
L'enregistreur de macro me donne cette ligne qui fonctionne chez moi :
Code:
Application.Documents.Open "C:\Documents and Settings\...\Dessin1.dxf"
Bonne journée 😎
 
Re : VISIO VBA ouvir un fichier dxf

Merci (pour la bienvenue et la réponse!)

Cela marche seulement si j'ai un fichier qui s'appelle Dessin1.dxf dans le disque C:. or dans mon cas le nom du fichier et son emplacement seront amenés à changer régulièrement. C'est pour cela que j'ai besoin de demander à l'utilisateur de choisir le fichier à ouvrir.

Le seul truc c'est que par défaut avec mon code, on lui propose d'ouvrir les fichier visio vsd et pas dxf ou dwg (donc il y a une petite manip à réaliser par l'utilisateur, or dans mon cas il me faut supprimer le plus de manip possible, même infiniment "petite")

Hbergement instantan d'images - imagik.fr
 
Re : VISIO VBA ouvir un fichier dxf

Re 🙂,
En principe (mais bizarement, il plante chez moi sous Visio, alors qu'il tourne sous Excel 😕), tu devrais t'en sortir avec
Code:
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim vrtSelectedItem As Variant
With fd
    .Filters.Add "Autocad", "*.dxf; *.dwg", 1
    If .Show = -1 Then
        For Each vrtSelectedItem In .SelectedItems
            Application.Documents.Open vrtSelectedItem
        Next vrtSelectedItem
    End If
End With
Set fd = Nothing
Bon courage 😎
 
Re : VISIO VBA ouvir un fichier dxf

J'ai également une erreur, "propriété ou méthode non gérée par cet objet" à cette ligne "Set fd = Application.FileDialog(msoFileDialogFilePicker)".

Le vba sous excel ne marche pas toujours à l'identique sous visio (comme la fonction getopenfile...ça vient peut être de là?).
Merci tout de même.
 
Re : VISIO VBA ouvir un fichier dxf

Re 🙂,
J'ai également une erreur, "propriété ou méthode non gérée par cet objet" à cette ligne "Set fd = Application.FileDialog(msoFileDialogFilePicker)".
Finalement, j'ai trouvé sur le web, c'est assez tordu mais ça marche 🙄...
Code:
Dim fd As FileDialog
Dim excel_app
Set excel_app = CreateObject("Excel.Application")
Set fd = excel_app.FileDialog(msoFileDialogFilePicker)
Dim vrtSelectedItem As Variant
With fd
    .Filters.Add "Autocad", "*.dxf; *.dwg", 1
    If .Show = -1 Then
        For Each vrtSelectedItem In .SelectedItems
            Application.Documents.Open vrtSelectedItem
        Next vrtSelectedItem
    End If
End With
Set fd = Nothing
Set excel_app = Nothing
Bonne suite 😎
 
Re : VISIO VBA ouvir un fichier dxf

Re 🙂,
VB:
Dim fd As FileDialog
' Dimensionne une boîte de dialogue
Dim excel_app
' Dimensionne un objet
Set excel_app = CreateObject("Excel.Application")
' Crée une application Excel virtuelle
Set fd = excel_app.FileDialog(msoFileDialogFilePicker)
' utilise l'application virtuelle pour créer la boîte de dialogue
Dim vrtSelectedItem As Variant
' Dimensionne une variable
With fd
' Avec la boîte de dialogue
.Filters.Add "Autocad", "*.dxf; *.dwg", 1
' Remplace le filtre de la boîte par les extensions Autocad
If .Show = -1 Then
' Si la boîte est refermée
For Each vrtSelectedItem In .SelectedItems
' Pour chaque item sélectionné
Application.Documents.Open vrtSelectedItem
' Ouvrir le chemin sélectionné
Next vrtSelectedItem
' Item suivant
End If
' Fin du test
End With
' Fin de la boîte de dialogue
Set fd = Nothing
' Vidage de la boîte
Set excel_app = Nothing
' Vidage de l'application virtuelle
Bises 😛
 
Re : VISIO VBA ouvir un fichier dxf

Hum..je vais méditer dessus un petit moment, mais je pense comprendre l'essentiel. En tout cas merci beaucoup, c'est très gentil de ta part de m'avoir aidé!
 
Re : VISIO VBA ouvir un fichier dxf

Bonjour,

Une nouvelle énigme s'offre à moi, j'aimerais automatiser la conversion qui s'effectue sur mon fichier dxf lorsque je clic droit dessus "Objet dessin CAO" => "Convertir". Mais voila, en enregistrant une macro, cette dernière est vide. Et sur le net je ne trouve rien à ce sujet (peut être que je ne cehrche aps avec les bons mots!).
A croire qu'on ne peut pas l'automatiser? (dans ce cas ce n'est pas la fin mais ce serait vraiment si bien!).

Au cas où, je viens demander aux experts s'ils ont une idée.

Merci beaucoup!
 
Re: Re : VBA : Objet dessin CAO => Convertir

Bonjour JNP, quelqun,

N'ayant pas Visio, je vais peut-être dire une bétise 🙄...
je clic droit dessus "Objet dessin CAO" => "Convertir"
Si cette action est accessible depuis les menus de Visio avec des combinaisons de touches (Alt + d'autres touches), ça pourait être automatisable avec un SendKeys - même si c'est pas "très propre"...

@JNP: A voté 🙂

A+
 
Re : VBA : Objet dessin CAO => Convertir

En effet c'est une piste...
Je vais essayer de me renseigner! Car je ne connaissais pas du tout cette fonction.

Mais pour l'instant je dois passer par des MAJ+F10 pour aller dans le menu "edition" puis flèches du bas pour choisir "objet dessin CAO" et "entrer"... Ce n'est pas vraiment un raccroucis clavier.

Merci!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
672
C
Réponses
1
Affichages
4 K
Conrad13
C
P
  • Question Question
Réponses
1
Affichages
2 K
Patrosso
P
Réponses
1
Affichages
1 K
T
Réponses
1
Affichages
1 K
titous68
T
C
Réponses
5
Affichages
4 K
chikchik
C
M
Réponses
2
Affichages
2 K
Retour