Message d'erreur sur une combobox

Signaler
Messages postés
131
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
17 mars 2010
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Bonjour tout le monde,
Après de longues vacances paisibles le retour cruel à la dure réalité et déjà les premiers problèmes!!!
J'ai crée une combobox sur une feuille Excel à laquelle j'ai associé un code et lorsque je veux parcourir la liste déroulante un terrible message d'erreur s'affiche :
"Mémoire insuffisante pour afficher en entier"
Et ça plante joliment mon document Excel que je suis obligé de fermer, sympatique non ?
Il ne le fait pas tout le temps et je n'arrive pas à trouver pourquoi il le fait.
Est-ce que quelqu'un aurait une solution s'il vous plait ?

9 réponses

Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Montre nous ton bout de code qui te fais défaut...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
131
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
17 mars 2010

Voilà mon code :



Private Sub diagonales_identiques_Change()
   
    Feuille_Active = ActiveSheet.Name
    Sheets(Feuille_Active).Range("o31").Value = diagonales_identiques.Value
    Profil = diagonales_identiques.Value
    Sheets(Feuille_Active).Range("u31").Value = ""
   
    If diagonales_identiques.Value <> "" Then
        With Worksheets("Liste des profils").Columns(1)
            Set c = .Find(Profil, LookIn:=xlValues)
            If c Is Nothing Then
                Sheets(Feuille_Active).Range("u31").Value = "Attention, non standard!"
            ElseIf Sheets("Liste des profils").Range(c.Address).Font.ColorIndex = 3 Then
                Sheets(Feuille_Active).Range("u31").Value = "Attention, non standard!"
            Else
                Sheets(Feuille_Active).Range("u31").Value = "Standard!"
            End If
        End With
    End If
   
End Sub




Cependant je ne pense pas que ce soit le code qui fasse défaut enfin c'est vraiment bizarre le message s'affiche à l'instant où je clique sur la combobox alors que normalement la macro s'exécute une fois que j'ai sélectionné et validé un élément de la liste. J'avoue que j'arrive pas bien à comprendre ce qui se passe ou alors c'est mon pc qui lui aussi supporte mal la reprise!!
Je ne sais danc pas si ça provient de vba ou de Excel.
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Dans ce cas, pourquoi ne pas mettre ta macro, dans ta validation...à tout hasard ?

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
131
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
17 mars 2010

Et ben non ça ne marche pas, même sans le code associé ça plante, c'est vraiment que la combobox qui bugg mais pourquoi ?
J'essaierais bien de m'en passer mais là j'ai pas le choix il me faut absolument une combobox
C'est incompréhensible...
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Et une Listbox(si cela exite en VBA) ?

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
131
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
17 mars 2010

Ben je viens d'essayer avec une listbox et le message d'erreur persiste. Peut être que j'ai mis trop d'informations dedans, il y a environ 600 lignes !!!!!
Mais ce qui est fou c'est que des fois, rien ne se passe et la combobox marche...
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Salut,

tu fais bien un Combo.Clear avant ?

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
Messages postés
131
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
17 mars 2010

Non pas du tout je ne connais pas cette commande... Pour remplir la combo je passe directement par ses propriétés vu que la liste ne change pas et qu'elle se trouve sur une feuille Excel
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Et pour ton message de mémoire, faut un minimum déclarer les variables. Sans déclarations, elles sont toutes Variant, donc ça prend un max de place mémoire et c'est 3 à 5 fois plus long à l'exécution.

regarde dans l'aide de vba Dim & Type de données

@++

<hr width="100%" size="2" />(