Problème de CheckBox + Erreur de compilation ...

Etienne2323

XLDnaute Impliqué
Bonjour à tous,
dans un programme que je développe actuellement pour le travail, je frappe ce message d'erreur depuis quelques jours suite à l'exécution d'une macro me servant à ajouter des CheckBox sur une feuille Excel en lot. Ce code avait été présenté initialement par Michel et modifié ensuite par Thierry. Je l'ai simplement légèrement adapté pour qu'il remplisse mon besoin.

Voici le code :

VB:
'Merci à Thierry et Michel pour la base de ce code !
Set Plage = ActiveSheet.Range("B2:B" & DL)

Compteur = 0
For Each Cell In Plage
    Compteur = Cell.Row
    If Cell.Offset(0, 1).Value <> "" And Cell.Offset(0, 1).Font.Size <> 14 And Cell.Offset(0, 1).Font.Bold = False Then
        L = Cell.Left
        t = Cell.Top
        W = Cell.Width
        H = Cell.Height
      
        Set Cbx = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Left:=L, Top:=t, Width:=W, Height:=H)
        
        With Cbx
            .Name = "CheckBox" & Compteur
            .Object.Font.Size = 10
            .Object.Caption = ""
            .Object.Value = False
        End With
        
        Set Cbx = Nothing
    End If
Next Cell

Set Plage = Nothing
Set Cbx = Nothing

Suite à l'exécution automatique de cette macro, le message d'erreur est le suivant :
"Erreur de compilation : Bibliothèque d'objets incorrecte ou contenant des références à définition d'objets introuvables.

Pour l'instant, les vérifications que j'ai faites sont les suivantes :
1) Vérifier si j'avais des références manquantes ou invalides (Outils --> Références ) mais rien de ce côté

2) J'ai cherché à supprimer tous les ".exd" de mon poste. Aucun changement !

3) Quand je ferme le fichier et que je l'ouvre de nouveau, ça fonctionne ... :confused:

En fait, ma question est la suivante. Est-ce que je dois ajouter une Référence VBA particulière pour régler ce problème ? Sinon, une piste de solution ???

Normalement, j'aurais joint le fichier pour que vous puissiez tester de votre côté également. L'ennui, c'est que 100% des données sont confidentielles. Quand je crée un fichier exemple pour recréer simplement cette problématique, tout fonctionne à merveille. À n'y rien comprendre :( Je le joins quand même pour la forme.

Merci beaucoup,

Cordialement,

Étienne
 

Pièces jointes

  • Test Etienne.xls
    35 KB · Affichages: 62

Dranreb

XLDnaute Barbatruc
Re : Problème de CheckBox + Erreur de compilation ...

Bonsoir
À mon avis, les contrôles tels que les CheckBox ne sont absolument pas faits pour être ajoutés en masse dans des feuilles de calculs.
Préférez des symboles ou idéogrames en police Wingdings ou Webdings qui change d'états au simple clic sur la cellule à l'aide de Worksheet_SelectionChange, voire double clic ou clic droit.
Jamais donc je ne cautionnerais ce genre de chose en aidant à déboguer une solution par CheckBox.
Cordialement.
 

Efgé

XLDnaute Barbatruc
Re : Problème de CheckBox + Erreur de compilation ...

Bonjour Etienne2323, Dranreb,
Une proposition:
VB:
Sub Ajouter_CheckBox_2()
Dim Plage As Range, Cell As Range
Dim Cbx As Object
Dim L As Double, t As Double, W As Double, H As Double
Application.ScreenUpdating = False
Set Plage = ActiveSheet.Range("B2:B" & Cells(Rows.Count, 3).End(xlUp).Row)
For Each Cell In Plage
    If Cell.Offset(0, 1).Value <> "" And Cell.Offset(0, 1).Font.Size <> 14 _
                                    And Cell.Offset(0, 1).Font.Bold = False Then
        L = Cell.Left
        t = Cell.Top
        W = Cell.Width
        H = Cell.Height
        With ActiveSheet
            Set Cbx = .OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
                                        Left:=L, Top:=t, Width:=W, Height:=H)
            With Cbx
                .Name = "CheckBox" & Cell.Row
                .CopyPicture
                .Object.Font.Size = 10
            End With
        End With
    End If
Next Cell
Set Cbx = Nothing
End Sub

Cordialement
EDIT
@ Dranreb
Si nous sommes ici c'est pour aider, si l'on ne veux pas "cautionner" on peux "passer" :rolleyes:.
Cordialement
 
Dernière édition:

Etienne2323

XLDnaute Impliqué
Re : Problème de CheckBox + Erreur de compilation ...

Bonjour Dranreb, Efgé, le forum,
tout d'abord, merci à vous deux pour les réponses. Désolé pour le délais de réponse. Une petite nuit de sommeil et un 6h de décalage horaire, voilà le résultat !

@ Dranreb : j'ai suivi le conseil et j'ai modifié mes Checkbox en symboles du format "Webdings". En effet, en utilisant la lettre "a", on fait un petit crochet, et la lettre "c" un carré vide. Presque l'équivalent du CheckBox mais en beaucoup plus léger. Avec un
Code:
SelectionChange
le résultat est surprenant.

Aussi, je dois avouer que, comme Efgé, j'ai été un peu froissé par le
Jamais donc je ne cautionnerais ce genre de chose en aidant à déboguer une solution par CheckBox.

De mon côté, j'essaie d'aider les membres de ce forum le plus souvent que j'en ai l'occasion. Parfois, les codes qu'ils présentent sont brouillons, imprécis, pas efficaces ou encore programmés d'une manière qui ne me plait pas, mais ça ne m'empêche pas d'essayer de leur fournir mes meilleurs conseils quand même. Je ne crois pas être ici pour cautionner ou pas les méthodes employées par chacun mais pour apporter du support quand j'en ai la possibilité. Mais ça, ça n'implique que moi !

Au plaisir de vous recroiser sur un fil !


@ Efgé : merci beaucoup pour la réponse. Toutefois, toujours le même problème :( Le message d'erreur est toujours là !

Merci à vous deux pour votre aide ! C'est très apprécié.

Cordialement,

Étienne
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Problème de CheckBox + Erreur de compilation ...

Aussi, je dois avouer que, comme Efgé, j'ai été un peu froissé
Il n'y avait pas de quoi, puisque ma conclusion ne parrait vous avoir concerné à aucun moment: vous n'aviez simplement pas eu l'idée de faire autrement c'est tout. Desolé néanmoins de vous avoir froissé.
Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 087
Messages
2 085 198
Membres
102 815
dernier inscrit
Henridic