Excel plante à la sélection d'une liste déroulante
Résolu
Fahora
Messages postés
949
Statut
Membre
-
Fahora Messages postés 949 Statut Membre -
Fahora Messages postés 949 Statut Membre -
Bonjour à tous,
Tout est dans le titre, néanmoins , je peux apporter quelques suppléments d'informations.
Lorsque je sélectionne une donnée dans une liste déroulante (Il y en a 2), excel plante. Parfois, j'ai le droit à un message : Triangle jaune (Attention) Mémoire insuffisante pour afficher en entier.
Quelqu'un aurait une idée du problème ?
Le fichier est très "léger", il y a une macro , qui transforme le texte en Majuscule et rien de plus.
Merci d'avance ,
Cordialement,
--
Nos seules limites sont celles que nous nous imposons nous-même.
Fahora
Tout est dans le titre, néanmoins , je peux apporter quelques suppléments d'informations.
Lorsque je sélectionne une donnée dans une liste déroulante (Il y en a 2), excel plante. Parfois, j'ai le droit à un message : Triangle jaune (Attention) Mémoire insuffisante pour afficher en entier.
Quelqu'un aurait une idée du problème ?
Le fichier est très "léger", il y a une macro , qui transforme le texte en Majuscule et rien de plus.
Merci d'avance ,
Cordialement,
--
Nos seules limites sont celles que nous nous imposons nous-même.
Fahora
1 réponse
-
Bonjour,
Pas de code, pas de classeur, pas de boule de cristal ....
il faut vraiment aimer les devinettes :)
A+-
Pas de bras , pas de chocolat , comme on dit !
Pas de classeur , pas d'aideur ! (Ok je m'en vais).
Alors justement , voici le classeur :
https://www.cjoint.com/c/FBzmAWtlX4G
Merci Gyrus :)- L'intérêt de la procédure Worksheet.Change c'est qu'elle se lance à chaque modification d'une cellule.
Mais le problème avec la procédure Worksheet.Change, c'est que si elle modifie une cellule, ... alors elle s'auto-relance ...puis elle s'auto-relance ...puis elle s'auto-relance puis ...
Une solution est de désactiver les événements en utilisant la propriété Application.EnableEvents.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("K3, K14, N3, N14")) Is Nothing Then
Application.EnableEvents = False
Target.Value = UCase(Target)
Application.EnableEvents = True
End If
End Sub
A+
-
-