UTILISER COMMON DIALOG DANS VB/VBA D'UNE MANIÈRE SIMPLE SANS ACTIVER LE COMPOSAN

cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008 - 26 juil. 2005 à 13:05
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012 - 8 nov. 2010 à 10:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32893-utiliser-common-dialog-dans-vb-vba-d-une-maniere-simple-sans-activer-le-composant-dans-le-projet

Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
8 nov. 2010 à 10:29
Content que ça puisse aider !

Bonne programmation Samloba.
samloba Messages postés 3 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 8 novembre 2010
7 nov. 2010 à 13:42
j'ai trouvé

Filter = "Fichiers Access|*.mdb"
merci
samloba Messages postés 3 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 8 novembre 2010
7 nov. 2010 à 13:20
merci Squall____
ce code vient de me sauver la mise
access 2007+vb6 (pour compiler ma dll activeX)
seul probleme le filtre n'est pas appliqué, je vois tous les fichiers
et le choix devient difficile
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
23 mars 2010 à 10:11
Ok.
Je pense que ton erreur d'activeX doit venir du fait que la DLL comdlg32.dll n'est pas présente dans ton C:\WINDOWS\System32.

Si elle n'est pas installée c'est que ton Office 2007 n'as pas été installé complètement. Je te conseille donc d'aller dans ajout/suppression de programmes, de cliquer sur modifier l'installation de ton office et de choisir une installation complète d'office (tout exécuter à partir du disque dur). Après ça, essaye se bout de code :

Public FichierSélectionné As String

Public Function OuvrirAvecCD(Extension As String, DOSSIER As String, TITRE As String)
FichierSélectionné = ""
Set CD = CreateObject("MSComDlg.CommonDialog")
On Error Resume Next
Debut:
With CD
.MaxFileSize = 260
.InitDir = DOSSIER
.CancelError = True
.DialogTitle = TITRE
.Filter = "Fichiers " & Extension & "(*." & Extension & ")|*." & Extension & "|"
.FilterIndex = 1
Err.Clear
.ShowOpen
If Err.Number <> 0 Then
If MsgBox("Vous n'avez pas sélectionné de fichier." & Chr(10) & "Voulez-vous annuler la sélection ?", vbYesNo, TITRE) = vbYes Then
Exit Function
Else
GoTo Debut
End If
End If
End With
FichierSélectionné = CD.Filename
Set CD = Nothing
End Function

Public Sub test()

OuvrirAvecCD "xls", "\\TON_SERVEUR\TON_PARTAGE", "Merci de sélectionner un fichier xls"
MsgBox FichierSélectionné

End Sub

Si ça ne marche toujours pas, télécharge la DLL ici : http://www.dll-files.com/dllindex/dll-files.shtml?comdlg32
Et ensuite copie là dans ton C:\WINDOWS\System32 et réessaye.

Fait moi savoir si ça focntionne ou non.

Bonne chance.
Ericbzc Messages postés 17 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 13 décembre 2010
23 mars 2010 à 10:03
Xp pour windows
2007 pour excel

ps : j'ai déplacé des morceaux de codes au cours de mes tests, et il semblerait que chdir + getopenfile fasse bien le changement de chemin maintenant, y compris sur un chemin autre que C D E...
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
23 mars 2010 à 08:41
quelle version d'excel tu utilises et sous quel windows tu es ? c'est juste par curiosité...
Ericbzc Messages postés 17 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 13 décembre 2010
23 mars 2010 à 08:31
lol. :o)
Merci beaucoup en tout cas. je te donne un peu plus de détail sur ce que je veux faire.

Je suis dans un fichier xls qui génère un reporting sur des ventes. La 1ère étape consiste à aller chercher les données du mois en cours qui se situent sur \\Serveur\data\source.xls

Je voudrais donc que, en cliquant sur un bouton "mettre à jour les données", une boite de dialogue s'ouvre demandant de sélectionner le fichier source.
et j'aimerai que par défaut le répertoire qui s'affiche dans la boite de dialogue soit \\serveur\data.

D'après mes essais, getopenfilename ouvre par défaut "mes documents". je n'ai pas trouvé le moyen d'ouvrir \\serveur\data

et commondialog génère un message d'erreur "composant activeX..."
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
23 mars 2010 à 07:37
je te ferais un retour lorsque je serais arrivé au boulot. t'inquiètes pas, on va t'aider, j'ai largement progressé depuis 2005 ! :)
Ericbzc Messages postés 17 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 13 décembre 2010
23 mars 2010 à 06:50
Bonjour à tous,

Le topic date un peu... mais qui sait, pê pourrez vous m'aider.
Mon but : faire sélectionner un fichier par l'utilisateur (à partir d'une macro excel) et mémoriser son emplacement et son nom.

D'après mes recherches, 2 solutions : getopenfilename et common dialog.
* Getopenfilename ne permet pas de spécifier un répertoire donné par défaut (genre initdir)... la solution proposée sur certains forums Chdir ne fonctionne que si le fichier est sur un lecteur de la machine (C, D, Z..) ! Or moi je souhaite utiliser un chemin réseau \\serveur\ data
*Commondialog (et plus précisément la ligne set CD = *** du code ci-dessus) génère le fameux message d'erreur "un composant activeX ne peut pas créer d'objet"
je pense à un pb de bibliothèque (outils > références) ??

Des idées ?
Merci d'avance.
Cdt, EB
kalika666 Messages postés 2 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 23 décembre 2008
23 déc. 2008 à 14:45
Au contraire, merci de ta rapidité !

Je suis sur Word, avec VBA word, ce qui doit sans doute poser problème car j'ai bien appelé la fonction comme tu le précises...

Si d'aventure d'autres personnes passaient par là avec le même type de problème, j'ai résolu le mien grâce à :

emplacementfichier = Excel.Application.GetOpenFilename("Fichier Excel (*.xls), *.xls")

Ce qui n'est pas vraiment ce que ta macro fait mais bon...
cs_cotmar Messages postés 71 Date d'inscription vendredi 13 septembre 2002 Statut Membre Dernière intervention 9 mars 2009
23 déc. 2008 à 14:44
Bonjour,

Ça marche très bien ce code, par contre n'oubliez pas de mettre le "option explicit" pour obliger à déclarer les variables, sinon, vous finirez par avoir des soucis un jour à l'autre.

Option Explicit

'Utilisation de la fonction :
'mettre une commande de type : Call OuvrirAvecCD("xls", "c:", "TOTO fait du ski")
'Puis ont peux récupérer le chemin du fichier sélectionné par l'utilisateur
'dans la variable "FichierSélectionné"
'c'est tout !

Public FichierSélectionné As String

Public Function OuvrirAvecCD(Extension As String, DOSSIER As String, TITRE As String)
Dim CD
FichierSélectionné = ""
Set CD = CreateObject("MSComDlg.CommonDialog")
On Error Resume Next
Debut:
With CD
.MaxFileSize = 260
.InitDir = DOSSIER
.CancelError = True
.DialogTitle = TITRE
.Filter = "Fichiers " & Extension & "(*." & Extension & ")|*." & Extension & "|"
.FilterIndex = 1
Err.Clear
.ShowOpen
If Err.Number <> 0 Then
If MsgBox("Vous n'avez pas sélectionné de fichier." & Chr(10) & "Voulez-vous annuler la sélection ?", vbYesNo, TITRE) = vbYes Then
Exit Function
Else
GoTo Debut
End If
End If
End With
FichierSélectionné = CD.Filename
Set CD = Nothing
End Function

----------------------------------------------------------------------------

Ensuite j'ai créé un bouton sur ma feuille Excel pour tester et j'y ai affecté la procédure correspondant à l'évènement "click" suivante :

----------------------------------------------------------------------------

Option Explicit

Private Sub CommandButton1_Click()
OuvrirAvecCD "*.xls", "c:", "Choisissez un fichier"
End Sub

Petite remarque en passant, vérifiez que les référence soient bien cochées dans VBA, sinon effectivement ça ne marchera pas.
Vous devez avoir dans le menu : "Option -> Référence la référence suivante qui va être cochée : "Microsoft Form object library" (normalement il met un numéro de version chez moi c'est "Microsoft Form 2.0 object library" mais c'est peut-être différent chez vous).

Bonne fêtes, joyeux Noël, bonne année à tous.

Marco.
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
23 déc. 2008 à 14:09
Tout d'abord, désolé de t'avoir fait attendre.

C'est vraiment bizarre ce que tu me dis... Je vient de réessayer et j'ai bien le nom complet du fichier dans ma variable "FichierSélectionné"...

J'ai utilisé cette petite sub pour tester :

Private Sub test()

Call OuvrirAvecCD("xls", "c:", "TOTO fait du ski")
MsgBox FichierSélectionné

End Sub

Si ça ne focntionne toujours pas chez toi, peux tu me donner plus d'informations sur ta configuration ? Quel Windows ? Quel editeur VB (VB6, VBA Excel) ?
kalika666 Messages postés 2 Date d'inscription vendredi 15 juin 2007 Statut Membre Dernière intervention 23 décembre 2008
22 déc. 2008 à 13:43
Bonjour,

Tout d'abord merci pour ce code !

Je suis un peu surpris par contre, car après avoir appelé la fonction, si j'affiche la variable FichierSélectionné dans une msgbox, il ne me renvoie que le nom du fichier et non le chemin complet... Il y a-t'il quelque chose à changer pour obtenir par exemple "c:\program files\monfichier.xls" ?

L'objectif étant d'intégrer cette variable dans quelque chose du genre "Open FichierSélection for input as #1"

Merci d'avance !
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 oct. 2008 à 19:35
Regarde le comment du: 27/07/2005 15:29:23
mabejaoui Messages postés 15 Date d'inscription mardi 16 septembre 2008 Statut Membre Dernière intervention 10 octobre 2008
10 oct. 2008 à 16:48
Bonjour,
j'ai un probleme avec l'utilisation de la commande CreateObject("MSComDlg.CommonDialog").

Le msg d'erreur suivant s'affiche :
Un composant ActiveX ne peut pas creer un objet.

Merci d'avance.
Alvaten Messages postés 6 Date d'inscription jeudi 16 février 2006 Statut Membre Dernière intervention 2 juin 2006
25 sept. 2007 à 10:31
Merci,

C'est pas tout à fait ce que je cherchais mais j'ai pu l'adapter très facilement.
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
16 juil. 2007 à 16:32
Bien sur que tu peux publier ton logiciel. Pas de problèmes. On est là pour s'entraider non ???

Et merci pour ton commentaire.
Utilisateur anonyme
16 juil. 2007 à 15:49
J'était en train de faire un logiciel pour un call center qui devais être capable d'injecter des fichiers u truc pas très complexe qui devais leur servir et j'avais un problème avec le common dialog au niveau des filtres ton programme m'a drôlement servi merci ! Et je me demandais si je ne pourais pas publié ce logiciel qui t'appartient en parti ^^ je te metterait les copyrights bien sur ^^
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
8 juin 2007 à 13:23
Merci pour ton commentaire !
ça fait plaisir de voir que ma source est utile.
neamar Messages postés 26 Date d'inscription vendredi 9 septembre 2005 Statut Membre Dernière intervention 12 avril 2009
7 juin 2007 à 21:15
Exactement ce qu'il me fallait ! Merci !
homer202 Messages postés 2 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 28 février 2007
28 févr. 2007 à 12:20
Exact les derniers fichiers ouvert sont stockés la :
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpensaveMRU\doc
Dans OpensaveMRU on trouve les différentes extensions ici pour moi c'est des fichiers .doc

Merci c'était ce dont j'avais besoin.
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
28 févr. 2007 à 11:40
J'ai pas tout compris mais je pense que tu devrais jeter un oeil dans la base de registres.
C'est là que les historiques d'ouvertures de fichiers sont stockés en général...
homer202 Messages postés 2 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 28 février 2007
28 févr. 2007 à 10:44
Bonjour,
Je cherche un moyen de récupérer "l'historique" des fichiers ouvert par la common dialog. J'entend par historique la list box qui correspond au nom du fichier.

j'espere avoir été clair.
D'avance merci.
cs_cotmar Messages postés 71 Date d'inscription vendredi 13 septembre 2002 Statut Membre Dernière intervention 9 mars 2009
3 avril 2006 à 18:09
Bonjour,
J'ai juste une petite critique (constructive). Si tu veux enlever le GOTO, tu peux faire comme suit...
Cordialement.
Marco.


Public Function FctOuvrirAvecCD(Extension As String, DOSSIER As String, TITRE As String) As String
' FichierSélectionné = ""
Dim CD As Object
Dim BoolFin As Boolean

On Error Resume Next

BoolFin = False

Set CD = CreateObject("MSComDlg.CommonDialog")
'Debut:
While BoolFin = False
With CD
.MaxFileSize = 260
.InitDir = DOSSIER
.CancelError = True
.DialogTitle = TITRE
.Filter = "Fichiers " & Extension & "(*." & Extension & ")|*." & Extension & "|"
.FilterIndex = 1
Err.Clear
.ShowOpen
If Err.Number <> 0 Then
If MsgBox("Vous n'avez pas sélectionné de fichier." & Chr(10) & "Voulez-vous annuler la sélection ?", vbYesNo, TITRE) = vbYes Then
BoolFin = True
' Exit Function
Else
BoolFin = False
' GoTo Debut
End If
Else
BoolFin = True
End If
End With
Wend

FctOuvrirAvecCD = CD.FileName
Set CD = Nothing
End Function
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
1 août 2005 à 15:16
Merci Hicham_A_t23 je vais faire la modification de ma source pour enlever la déclaration. Comme ça, tout le monde pourras en profiter !
hicham_a_t23 Messages postés 9 Date d'inscription mercredi 13 juillet 2005 Statut Membre Dernière intervention 1 août 2005
1 août 2005 à 14:48
Bonjour Squal_, merci pour ton code, moi j'ai enlevé la declaration " dim cd as commondialog" et ca a marché.
c bien ce que tu as fais. ca permet d'aider bcp de personne.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 juil. 2005 à 15:29
Regarde ici, me semble déjà fait:
http://www.vbfrance.com/code.aspx?id=7221
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
27 juil. 2005 à 15:09
OK !

Donc, avis à tous, si mon module ne fonctionne pas chez vous, tournez vous vers une autre source qui utilise l'API GetOpenFileName.

Je promet de faire une autre source un peu plus tard du même type qui utilisera l'API GetOpenFileName quand je la maitriserais.

Merci pour ton aide BruNews, je vais me documenter sur l'API.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 juil. 2005 à 14:45
Enlever la déclaration de CD ne change rien, pas cela qui installera un ocx.
Refais avec GetOpenFileName() et fonctionnera partout.
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
27 juil. 2005 à 14:40
Ok. Tu dois avoir raison. Mais j'ai relevé des erreurs dans ton utilisation de ma fonction.

Utilise plutot ça :

public FichierSélectionné As String

Public Function OuvrirAvecCD(Extension As String, DOSSIER As String, TITRE As String)
FichierSélectionné = ""
'Dim CD
Set CD = CreateObject("MSComDlg.CommonDialog")
On Error Resume Next
Debut:
With CD
.MaxFileSize = 260
.InitDir = DOSSIER
.CancelError = True
.DialogTitle = TITRE
.Filter = "Fichiers Excels(*." & Extension & ")|*." & Extension & "|"
.FilterIndex = 1
Err.Clear
.ShowOpen
If Err.Number <> 0 Then
If MsgBox("Vous n'avez pas sélectionné de fichier." & Chr(10) & "Voulez-vous annuler la sélection ?", vbYesNo, TITRE) = vbYes Then
Exit Function
Else
GoTo Debut
End If
End If
End With
FichierSélectionné = CD.Filename
Set CD = Nothing
End Function

Sub test()
'Dim s As String
's = OuvrirAvecCD("*.txt", "D:", "TITRE")
Call OuvrirAvecCD("txt", "D:", "TITRE")
'MsgBox s
MsgBox FichierSélectionné
End Sub

Si il te fait toujours la même erreur, alors là, je ne sais pas quoi faire...
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 juil. 2005 à 14:20
Test dans Excel 2003:

Public Function OuvrirAvecCD(Extension As String, DOSSIER As String, TITRE As String)
FichierSélectionné = ""
Dim CD
Set CD = CreateObject("MSComDlg.CommonDialog")
On Error Resume Next
Debut:
With CD
.MaxFileSize = 260
.InitDir = DOSSIER
.CancelError = True
.DialogTitle = TITRE
.Filter = "Fichiers Excels(*." & Extension & ")|*." & Extension & "|"
.FilterIndex = 1
Err.Clear
.ShowOpen
If Err.Number <> 0 Then
If MsgBox("Vous n'avez pas sélectionné de fichier." & Chr(10) & "Voulez-vous annuler la sélection ?", vbYesNo, TITRE) = vbYes Then
Exit Function
Else
GoTo Debut
End If
End If
End With
FichierSélectionné = CD.Filename
Set CD = Nothing
End Function

Sub test()
Dim s As String
s = OuvrirAvecCD("*.txt", "D:", "TITRE")
MsgBox s
End Sub

Résultat comme prévu:
"Le composant ActiveX ne peut pas créer l'objet" en message d'erreur.
et me select la ligne: Set CD = CreateObject("MSComDlg.CommonDialog")

C'est clair, je t'avais dit que ceci n'est pas sur les machines.
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
27 juil. 2005 à 13:58
C'est pas important ça, Quand tu fait le "Set CD = CreateObject("MSComDlg.CommonDialog")" ton objet est créé. Donc, le "With CD" venant après comprend ce qu'est l'objet CD.

No souci je te dis.

Tu as essayé ?
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 juil. 2005 à 13:40
Si je mets en comment, comment faire avec ce qui est dans "With CD" ???
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
27 juil. 2005 à 12:49
Je pense savoir quel est le problème...

Pour corriger, je pense qu'il te suffit de supprimer la ligne "Dim CD As CommonDialog" (ou de la mettre en commentaire comme tu veux).

Alors ? C'est mieux comme ça ?

Si ça marche mieux, je ferais un update de mon module.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 juil. 2005 à 09:58
Alors testons, dans Excel j'obtiens:

Erreur de compilation:
Type défini par l'utilisateur non défini

et il me sélectionne "Dim CD As CommonDialog".
Que mettre comme référence ?
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
27 juil. 2005 à 09:45
Je suis pas persuadé de ce que tu dis car j'utilise ce module au boulot avec Excel 97 et à part ça, ma config logiciel n'as rien d'exeptionnel, bien au contraire. Je n'ais pas VB installé, je suis sur NT4 avec la suite Office 97 dessus. C'est tout !

J'ai d'ailleur conçu cette source depuis ce PC...

C'est pour ça que je trouve ta remarque bizarre...
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 juil. 2005 à 00:11
ça fonctionne parce que tu as VB installé ou au moins l'ocx qui fournit mais les autres gens ne l'ont pas et donc ne peut pas fonctionner depuis VBA.
Regarde MSDN, faut faire une structure, la remplir correctement et ensuite la passer à l'API.
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
27 juil. 2005 à 00:08
L'API GetOpenFileName ? Je ne connaissais pas ! C'est pour ça que je l'ai pas utilisé! Pourrais tu m'en dire plus sur cet API ?

Par contre, je t'assure que mon code fonctionne très très bien dans VBA. Je l'utilise actuellement avec Excel 97 sans problèmes.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 juil. 2005 à 00:00
Faudrait avoir "MSComDlg.CommonDialog" d'inscrit en base de registres pour s'en servir dans VBA.
Si c'est la souplesse que tu cherches, pourquoi ne pas utiliser l'API GetOpenFileName(), au moins on est certain que c'est sur la machine cible.
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
26 juil. 2005 à 15:04
Liquide, je sais que je l'active en le déclarant mais c'est plus pratique de l'activer en ligne de commande que de façon graphique pour des gens comme moi qui font beaucoup de VBA ou de VBS (je sais pas si tu as déjà essayer de mettre un commondialog dans excel 97 mais tu veras, ça vaut le coup d'oeil !).

Par contre, ce que tu dis sur le charger / décharger qui prend du temps, oui tu as raison. Le PC lui s'en rend compte mais nous, pauvres petits humains, je ne pense pas que ça nous gêne vraiment (^_^) !

Urgo, désolé si la source existait déjà, je l'ai cherché sur le site et je l'ai pas trouvé alors je pensais que ce code n'avais pas été montré. En même temps, c'est pas trop grave ! Une chance de plus pour ceuw qui cherchent cette fonction de la trouver :) !
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 1
26 juil. 2005 à 13:49
EBArtSoft avait déjà montré cette astuce si mes souvenirs sont bons :)
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
26 juil. 2005 à 13:05
Dim CD As CommonDialog <---> si ca ce n'est pas l'activer, je ne comprend plus rien a Vb. Plus souple je ne sais pas , car en placant un commdialog dans la form, et en integrant un procédure qui en fait appel :
with commondialog
....
....
end with

la souplesse reste la meme, l'avantage de ton code c'est que le composant est activé au moment ou tu en as besoin. d'un autre coté, il ne faudrait pas que tu en ai besoin souvent, car charger decharger prend aussi du temps.
Rejoignez-nous