Code qui fait crasher excel?? - VB/VBA/VBS - Programmation
Marsh Posté le 22-10-2010 à 10:27:39
Hello
Je n'ai pas de crash d'excel sous 2007
Parcontre, comme ton second If ne teste pas si c'est du texte de saisi, Excel renvoie une erreur si on saisit du texte en colonne B
Marsh Posté le 19-11-2010 à 10:36:04
C'est la récursivité de ton évenement qui peut faire planter.
Target = UCase(Target) reprovoque l'évenement
Worksheet_Change
Marsh Posté le 19-11-2010 à 13:48:35
Salut, pas de crash sous 2002 (?) mais sous 2007 oui, avec msg d'erreur suivant
Erreur d'éxécution -2147417848(80010108)
La méthode '_Default' de l'object 'Range' a échoué avec arrêt sur Target = UCase(Target)
cela quand on efface le contenu d'une cellule de la colonne A : cellule vierge ou pas
Remplacer par
|
qui semble fonctionner
Marsh Posté le 19-11-2010 à 13:54:25
kiki29 a écrit : Salut, pas de crash sous 2002 (?) mais sous 2007 oui, avec msg d'erreur suivant
|
L'interret de l'intersect me parait bizare
ça serait pas plus simple comme ça ? :
|
et rajouter le .Value c'est plus propre...
Marsh Posté le 19-11-2010 à 13:57:00
Salut, sans aucun doute , je ne me suis préoccupé que du code donné et non de son optimisation, de même pour le 2eme Intersect
|
ce qui avec ta remarque opportune donne
|
Marsh Posté le 19-11-2010 à 14:02:58
je pense qu'il faut enlever le "Not"
mais je ne suis pas sur, je ne connais pas la fonction Ceiling
|
Edit : oups
Marsh Posté le 22-10-2010 à 00:43:11
Bonjour,
j'essaye d'exécuter le code suivant directement dans ma feuille de calcul, mais il fait immédiatement crasher excel 2007. Sauriez-vous pourquoi ?? :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Macro Dan pour Kiriko le 21/10/2010
If Not Intersect(Target, Columns("A:A" )) Is Nothing Then
Target = UCase(Target)
End If
If Not Intersect(Target, Columns("B:B" )) Is Nothing Then
Target = Application.Ceiling(Target, 0.25)
End If
End Sub
Merci par avance de l'aide que vous pourriez m'apporter....