Ajout de Contrôle boite à outils UserForm

Le
Brat'ac
Bonjour,
[Excel 2007/2010]
J'utilise une ListView dans mon classeur, mais quand je porte celui-ci
sur une autre machine j'ai une InjureBox qui me dit en gros

"élément non disponible "

Ma question:

Est-il possible de tester et d'ajouter si besoin le contrôle "ListView"
à l'ouverture du classeur par VBA ? si oui comment ?

Merci.

GS
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Brat'ac
Le #24419651
DanielCo a exposé le 21/04/2012 :
Bonjour,
Est-ce que la référence "Microsoft Windows Common Controls 6.0 (SP6)" est
cochée ?
Cordialement.
Daniel



Oui chez moi pas de soucis c'est coché, mais c'est sur les autres
machines ou c'est pas coché, comment le faire en auto si c'est possible
? et ensuite ajouter le contrôle toujours en auto ?

Merci
Brat'ac
Le #24419891
DanielCo a formulé ce samedi :
Ca devrait être :
Sub ajout()
ActiveWorkbook.VBProject.References.AddFromGuid
"{420B2830-E718-11CF-893D-00A0C9054228}", 2, 0
End Sub
mais il est possible que le fichier mscomctl.ocx ne soit pas enregistré.
Daniel




j'ai fais des essais comme ceci

Chez moi le fichier mscomctl.ocx est bien enregistré (ça fonctionne)

je décoche la référence "Microsoft ListView Control6.0(SP6)"

ensuite j'exécute:
ActiveWorkbook.VBProject.References.AddFromGuid
"{420B2830-E718-11CF-893D-00A0C9054228}", 2, 0

j'ai comme message " Bibliothèque d'objects non enregistrée"
Brat'ac
Le #24420031
Le samedi 21/04/2012 DanielCo a écrit :
Oups :
Sub ajout()
ActiveWorkbook.VBProject.References.AddFromGuid
"{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}", 2, 0
End Sub
Daniel



Maintenant j'ai:

"Nom de module, de projet ou de bibliothèque d'objets déjà utilisé"

on trouve ou la correspondance avec les Guid ?
Brat'ac
Le #24420351
Le 21/04/2012, DanielCo a supposé :
Tu as ce message si la référence est déjà cochée. Pour lister les références
du classeur actif (sur la feuille 1 de ce classeur) :
Sub ListReferencePaths()
On Error Resume Next
Dim i As Long
With ActiveWorkbook.Sheets(1)
.Cells.Clear
.Range("A1") = "Reference name"
.Range("B1") = "Full path to reference"
.Range("C1") = "Reference GUID"
.[D1] = "Majeur"
.[E1] = "Mineur"
End With
For i = 1 To ActiveWorkbook.VBProject.References.Count
With ActiveWorkbook.VBProject.References(i)
ActiveWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(1, 0) =
.Name
ActiveWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(0, 1) =
.FullPath
ActiveWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(0, 2) =
.GUID
ActiveWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(0, 3) =
.Major
ActiveWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(0, 4) =
.Minor
End With
Next i
On Error GoTo 0
End Sub



Merci,(aujourd'hui je me coucherais mois bête ;o) )
j'ai compris pour la référence, ça fonctionne bien, et je vais pouvoir
tester si elle est cochée ou non et la rajouter si besoin, mais
maintenant comment ajouter "Microsoft ListView Control6.0(SP6)" dans la
boite d'outils par vba, ça je ne pige toujours pas ?
Brat'ac
Le #24420471
DanielCo avait écrit le 21/04/2012 :


Je ne sais pas le faire et je ne sais pas si c'est possible. La présence du
contrôle dans la boîte d'outils ne sert qu'à le dessiner. Son absence
n'empêche pas l'exécution.
Daniel



Effectivement, je n'avais pas remarqué !!

Merci encore pour l'aide.

Bon Week End
DanielCo
Le #24419641
Bonjour,
Est-ce que la référence "Microsoft Windows Common Controls 6.0 (SP6)"
est cochée ?
Cordialement.
Daniel


Bonjour,
[Excel 2007/2010]
J'utilise une ListView dans mon classeur, mais quand je porte celui-ci sur
une autre machine j'ai une InjureBox qui me dit en gros

"élément non disponible "

Ma question:

Est-il possible de tester et d'ajouter si besoin le contrôle "ListView" à
l'ouverture du classeur par VBA ? si oui comment ?

Merci.

GS
DanielCo
Le #24419771
Ca devrait être :
Sub ajout()
ActiveWorkbook.VBProject.References.AddFromGuid
"{420B2830-E718-11CF-893D-00A0C9054228}", 2, 0
End Sub
mais il est possible que le fichier mscomctl.ocx ne soit pas
enregistré.
Daniel


DanielCo a exposé le 21/04/2012 :
Bonjour,
Est-ce que la référence "Microsoft Windows Common Controls 6.0 (SP6)" est
cochée ?
Cordialement.
Daniel



Oui chez moi pas de soucis c'est coché, mais c'est sur les autres machines ou
c'est pas coché, comment le faire en auto si c'est possible ? et ensuite
ajouter le contrôle toujours en auto ?

Merci
DanielCo
Le #24419921
Oups :
Sub ajout()
ActiveWorkbook.VBProject.References.AddFromGuid
"{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}", 2, 0
End Sub
Daniel


DanielCo a formulé ce samedi :
Ca devrait être :
Sub ajout()
ActiveWorkbook.VBProject.References.AddFromGuid
"{420B2830-E718-11CF-893D-00A0C9054228}", 2, 0
End Sub
mais il est possible que le fichier mscomctl.ocx ne soit pas enregistré.
Daniel




j'ai fais des essais comme ceci

Chez moi le fichier mscomctl.ocx est bien enregistré (ça fonctionne)

je décoche la référence "Microsoft ListView Control6.0(SP6)"

ensuite j'exécute:
ActiveWorkbook.VBProject.References.AddFromGuid
"{420B2830-E718-11CF-893D-00A0C9054228}", 2, 0

j'ai comme message " Bibliothèque d'objects non enregistrée"
DanielCo
Le #24420271
Tu as ce message si la référence est déjà cochée. Pour lister les
références du classeur actif (sur la feuille 1 de ce classeur) :
Sub ListReferencePaths()
On Error Resume Next
Dim i As Long
With ActiveWorkbook.Sheets(1)
.Cells.Clear
.Range("A1") = "Reference name"
.Range("B1") = "Full path to reference"
.Range("C1") = "Reference GUID"
.[D1] = "Majeur"
.[E1] = "Mineur"
End With
For i = 1 To ActiveWorkbook.VBProject.References.Count
With ActiveWorkbook.VBProject.References(i)

ActiveWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(1, 0) = .Name

ActiveWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(0, 1) =
.FullPath

ActiveWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(0, 2) = .GUID

ActiveWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(0, 3) =
.Major

ActiveWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(0, 4) =
.Minor
End With
Next i
On Error GoTo 0
End Sub



Le samedi 21/04/2012 DanielCo a écrit :
Oups :
Sub ajout()
ActiveWorkbook.VBProject.References.AddFromGuid
"{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}", 2, 0
End Sub
Daniel



Maintenant j'ai:

"Nom de module, de projet ou de bibliothèque d'objets déjà utilisé"

on trouve ou la correspondance avec les Guid ?
DanielCo
Le #24420361
Merci,(aujourd'hui je me coucherais mois bête ;o) )
j'ai compris pour la référence, ça fonctionne bien, et je vais pouvoir
tester si elle est cochée ou non et la rajouter si besoin, mais maintenant
comment ajouter "Microsoft ListView Control6.0(SP6)" dans la boite d'outils
par vba, ça je ne pige toujours pas ?



Je ne sais pas le faire et je ne sais pas si c'est possible. La
présence du contrôle dans la boîte d'outils ne sert qu'à le dessiner.
Son absence n'empêche pas l'exécution.
Daniel
Publicité
Poster une réponse
Anonyme