Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Erreur d’exécution... Sur le Clear d'une comboBox

Kyirra

XLDnaute Nouveau
Bonjour,

Disclaimer : Je suis désolé je ne vais pas pouvoir fournir d'excel car il comporte des données sensible que je n'ai pas le droit de communiquer je vais donc essayer de donner un maximum de code et d'exemple pour aider votre compréhension et que vous m'aidiez dans mon problème

Aujourd'hui mon problème est le suivant : Pour faire simple, j'essaye d'actualiser la liste d'une ComboBox pour qu'elle selectionne les nouveau élément. Seulement, au moment de Clear cette ComboBox Je me retrouve avec l'erreur suivante :

Mon code est le suivant :

VB:
CfgSalle.Range("A13:A" & nbLigne).Copy
CfgSalle.Range("AA1").PasteSpecial Paste:=xlPasteValues
CfgSalle.Range("AA:AA").Select
Selection.RemoveDuplicates Columns:=1, Header:=xlNo


'Actualisation des salles à la liste

nbIteration = CfgSalle.Range("AC1")
Iteration = 1
CfgSalle.ComboBox3.Clear
Do While Iteration <= nbIteration
    
    If CfgSalle.Range("AA" & Iteration) <> IsEmpty(CfgSalle.Range("AA" & Iteration)) Then
        MsgBox ("AA" & Iteration)
        CfgSalle.ComboBox3.AddItem CfgSalle.Range("AA" & Iteration)
        Else
    End If
        
    Iteration = Iteration + 1

Loop


Si j'en crois le surligne quand je passe en débogage, l'erreur intervient à la ligne CfgSalle.ComboBox3.Clear

Pourtant, j'utilise cette même boucle auparavant sur une autre ComboBox :

Code:
nbIteration = Data.Range("A2")
Iteration = 3
CfgSalle.ComboBox1.Clear
Do While Iteration < nbIteration + 3
    
    'MsgBox ("B" & iteration)
    CfgSalle.ComboBox1.AddItem Data.Range("B" & Iteration)
    Iteration = Iteration + 1

Loop

Cette boucle fonctionnant très bien pour la première ComboBox et le nom de la comboBox que j'essaye de remplir est bien ComboBox3 :




J'ai quand même cherché sur internet ce code erreur, et je suis tombé sur un gars qui disait que l'erreur venait dur framework 3.5 (je me rappelle plus du nom entier) qui n'était pas activé ou alors qu'il fallait réinstaller excel. Bon au lieu de réinstallé excel j'ai tenté sur 2 autres pc l'un du boulot aussi en office 2013 et mon perso en office 365 mais j'ai toujours cette erreur... Donc je ne pense pas que réinstaller excel soit la solution, c'est pour ca que je me tourne vers vous, si vous avez un solution car là je sèche avec le peu d'information que nous donne VBA dans ses erreurs....
 

Kyirra

XLDnaute Nouveau
Sans Comprendre pourquoi ca bug j'ai pu résoudre le problème en créant une nouvelle ComboBox et en réassignant le code à cette nouvelle combobox..... Du coup mon programme fonctionne maintenant. Si jamais quelqu'un a l'explication de pourquoi ca ne fonctionnait pas je suis quand même preneur pour comprendre pourquoi on peut avoir ces plantages !
Merci d'avance !
 

cp4

XLDnaute Barbatruc
Bonjour,

Content pour toi que tu aies résolu ton problème.
Je t'avoue que je suis incapable de t'éclairer surtout sans fichier et sur la base de bouts de code que tu as édité.

Bonne continuation.
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Je propose ça, à tout hasard :
VB:
   Dim TDon(), LD&, TLst(), LL&
   TDon = CfgSalle.[AA1].Resize(CfgSalle.[AC1].Value).Value
   ReDim TLst(1 To UBound(TDon, 1))
   For LD = 1 To UBound(TDon, 1)
      If Not IsEmpty(TDon(LD, 1)) Then LL = LL + 1: TLst(LL) = TDon(LD, 1)
      Next LD
   ReDim Preserve TLst(1 To LL)
   CfgSalle.ComboBox3.List = TLst
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…