Référence listview sur formulaire

Fermé
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 17 mars 2015 à 10:25
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 25 mars 2015 à 08:21
Bonjour à tous,

Sur un classeur avec formulaire utilisant une listview, y a-t-il une possibilité de détecter que les références requises Common Controls Visual Basic 6.0 (mscomctl.ocx) ne sont pas installées sur le poste ?

Si elles ne sont pas installées les manipulations à faire sont assez complexes pour des utilisateurs qui ne pratiquent pas les macros : connaissez-vous une procédure qui pourrait être utilisée à l'ouverture du formulaire et qui faciliterait la mise en place du classeur ?

Mes recherches sont restées vaines jusqu'à présent aussi je serai très reconnaissant à celui qui me trouve la solution.

6 réponses

Le Pingou Messages postés 12042 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 24 avril 2024 1 426
18 mars 2015 à 16:08
Bonjour,
Suite selon autre poste : pour le ListView, contrôler si présent dans la boite à outils, si non alors clic droit et clic Contrôles supplémentaires, chercher dans la liste et cocher puis OK.
L'ajout du contrôle sur le formulaire entraine son activation dans les références disponibles.
Au cas où, le faire manuellement.
Je ne connais pas d'autres solutions.

0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
18 mars 2015 à 18:54
Bonjour Le Pingou,

Merci de la réponse mais l'autre poste confirme que la manipulation manuelle est assez complexe et le résultat non assuré si l'on distribue le classeur à un utilisateur basique qui ne sais pas et ne veux pas rentrer dans des manipulations complexes.

Le classeur que je veux distribuer sera utilisé sous 2007 et dans cette version la procédure
.VBProject.References.AddFromGuid
(qui fonctionne en 2010) sort avec l'erreur 1004 "accès par programme au code n'est pas fiable".
Ceci est bien dommage car en 2010 le contrôle est ajouté et le classeur fonctionne.

Amicalement.
0
Le Pingou Messages postés 12042 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 24 avril 2024 1 426
18 mars 2015 à 21:41
Bonjour,
Merci pour l'information me permettant de mieux comprendre votre demande.
Concernant l'autre poste je pense que le problème vient d'un disfonctionnement de MSO 2007 sur le poste du demandeur (son fichier marche super chez moi).
0
Le Pingou Messages postés 12042 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 24 avril 2024 1 426
21 mars 2015 à 17:07
Bonjour gbinforme,
J'ai réalisé une procédure qui liste les références d'un projet et si, par exemple il manque celle concernant le [ListView], elle est alors ajouté avec l'instruction
[ThisWorkbook.VBProject.References.AddFromFile x]
(ou x à la valeur selon
[.VBProject.References.Item(n).FullPath]
(n = indice de la référence manquante)
Cela fonctionne chez moi en version MSO 2013, je ne peux pas contrôler avec 2007.
Vous avez mentionné une erreur (avec l'erreur l'erreur 1004 "accès par programme au code n'est pas fiable".) cela ne viendrait-il pas à une protection et dans ce cas il faut :
Menu Outils d'Excel -> Macro -> Sécurité -> Onglets Sources fiables -> Cocher "Faire confiance au projet Visual Basic".
Bon dimanche.

0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
21 mars 2015 à 17:29
Bonjour Le Pingou,

Merci de l'implication sur ma demande.

Cocher "Faire confiance au projet Visual Basic"
Sans doute mais il me faudrait un marteau-piqueur car la fonction est grisée et inaccessible.
J'ai essayé toutes les options mais sans succès :

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12042 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 24 avril 2024 1 426
21 mars 2015 à 17:52
Bonjour,
Etrange, je suis sur 2013, et la aucun problème pour modifier l'option même si j'ai une procédure sur arrêt... !

0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
24 mars 2015 à 23:04
Bonsoir Le Pingou,

Je crois que je suis au bout mais cela n'a pas été sans peine. ;-)

Comme il était compliqué (sinon impossible en 2007 chez moi) de Cocher "Faire confiance au projet Visual Basic", j'ai tenté de le faire à l'open et bizarrement, là, il veut bien ! Donc ensuite je peux utiliser
 .VBProject.References.AddFromGuid
et positionner le GUID pour la listview.
Petit souci supplémentaire, cela enlève le pavé numérique qu'il faut remettre mais pourquoi pas puisque l'on peut le faire.
J'ai testé sur un PC qui plantait sur listview et cela fonctionne : il ne me reste qu'à valider avec le destinataire initial.
Bonne soirée.
0
Le Pingou Messages postés 12042 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 24 avril 2024 1 426
24 mars 2015 à 23:18
Bonsoir gbinforme,
Merci pour les informations. Je suis content que vous soyez sur la bonne voie.
Toutefois j'ai de la peine à comprendre :
Comme il était compliqué (sinon impossible en 2007 chez moi) de Cocher "Faire confiance au projet Visual Basic", j'ai tenté de le faire à l'open et bizarrement, là, il veut bien !
Est-ce que vous le traitez dans une procédure VBA ......

0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
25 mars 2015 à 08:21
Bonjour Le Pingou,

Effectivement ma phrase n'était pas suffisamment claire, je fait tout en VBA car le destinataire du classeur est allergique au cambouis informatique et pour lui faire cocher une case système, c'est trop demander !
Bonne journée.
0