Problème"mémoire insuffisante"

Bonjour, j’ai un problème avec une macro que j’ai créé avec mon MAC(office 2011), celle-ci me fait stopper excel lorsque je l’éxécute sur un pc avec windows et m’affiche deux messages d’erreurs : « la méthode default de l’objet range a échoué » et « mémoire insuffisante pour afficher en entier ». Voici la ligne de code qui pose problème ( elle est en réalité beaucoup plus importante) :

Private Sub Worksheet_change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("C5")) Is Nothing Then

If Range("C5") = 21.3 Then

Range("C8") = 1 / 2

End If

If Range("C5") = 26.6 Then

Range("C8") = 3 / 4

End If

If Range("C5") = 33.4 Then

Range("C8") = 1

End If

……….

If Not Application.Intersect(Target, Range("C8")) Is Nothing Then

If Range("C8") = 1 / 2 Then

Range("C5") = 21.3

End If

If Range("C8") = 3 / 4 Then

Range("C5") = 26.6

End If

If Range("C8") = 1 Then

Range("C5") = 33.4

End If

……….

End If

End Sub

Les valeurs des cases C5 et C8 font chacunes partie d’une liste déroulante. Cette macro marche parfaitement sur mon MAC (macbookpro mi-2010), peut-être que ce n’est qu’ une question d’optimisation mais je ne sais pas comment faire.

Help !!!

Bonjour,

Essaie ainsi :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$C$5" Then
        Application.EnableEvents = False
        Select Case Target.Value
            Case 21.3
                [C8].Value = 1 / 2
            Case 26.6
                [C8].Value = 3 / 4
            Case 33.4
                [C8].Value = 1
        End Select
        Application.EnableEvents = True
        Exit Sub
    End If
    '---------------------------------------
    If Target.Address = "$C$8" Then
        Application.EnableEvents = False
        Select Case Target.Value
            Case Is = 1 / 2
                [C5].Value = 21.3
            Case Is = 3 / 4
                [C5].Value = 26.6
            Case 1
                [C5].Value = 33.4
        End Select
        Application.EnableEvents = True
        Exit Sub
    End If

End Sub

Merci ça marche impeccable et j'essaierai ce we sur mon MacBookpro.

Néanmoins peux tu m'expliquer d'où vient l'erreur?

Bonsoir

Et ceci ?

Dim ok As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If ok = True Then Exit Sub
If Not Application.Intersect(Target, Range("C5")) Is Nothing Then
ok = True
Select Case Target.Value
    Case Is = 21.3: Range("C8") = 1 / 2
    Case Is = 26.6: Range("C8") = 3 / 4
    Case Is = 33.4: Range("C8") = 1
End Select
End If
'……….
If Not Application.Intersect(Target, Range("C8")) Is Nothing Then
ok = True
Select Case Target.Value
    Case Is = 1 / 2: Range("C8") = 21.3
    Case Is = 3 / 4: Range("C8") = 26.6
    Case Is = 1: Range("C8") = 33.4
End Select
End If
ok = False
End Sub

Crdlt

Ça marche aussi sur mon MacBookpro

Merci à vous tous pour le coup de pouce

Re,

Normal j'ai testé aussi de ce coté

Oublie pas de clôturer le fil...

Crdlt

Rechercher des sujets similaires à "probleme memoire insuffisante"