Espace pile insuffisant

Résolu
Bonjour,

Avec le code ci-dessous j'ai un message qui s'affiche( Espace pile insuffisant)
ou se trouve l’erreur
Avec mes remerciements pour votre aide

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B2") = "aa" Then
Range("G2") = "bien"
End If
End Sub


Configuration: Windows / Firefox 74.0


Commence par faire le nécessaire ,puis fait ce qu'il est possible de faire et tu réaliseras l'impossible sans t'en apercevoir. Saint François d'Assise

4 réponses

  1. Bonjour,

    Attention à la récursivité !
    Private Sub Worksheet_Change(ByVal Target As Range)
      If Range("B2") = "aa" Then
        Application.EnableEvents = False
        Range("G2") = "bien"
        Application.EnableEvents = True
      End If
    End Sub


    1
    1. Bonjour,

      Par exemple EDIT : ligne 9 corrigée :
      Private Sub Worksheet_Change(ByVal Target As Range)
      
        Application.EnableEvents = False
        If Range("A1") = "AA" Then Range("G2") = "bien"
        If Range("B1") = "BB" Then Range("G3") = "trés bien"
        If Range("C1") = "CC" Then Range("G4") = "Félicitations"
        Application.EnableEvents = True
      
      End Sub


      1
      1. Bonjour Patrice,
        Merci effectivement beaucoup plus simple.
        Bonne journée
        0
      2. Je viens de faire un essai avec ton code j'ai une erreur de compilation End If sans bloc If
        0
      3. @JCB40Oups ..
        En 9 c'est End Sub (au lieu de End If)
        0
      4. @Patrice33740J'avais trouvé l'erreur voir post 6
        Merci
        0
    2. Bonjour
      Merci pour ta solution cela fonctionne
      pour plusieurs conditions comment pratiquer?
      Le code que j'ai créé surement a simplifier

      Private Sub Worksheet_Change(ByVal Target As Range)
      If Range("A1") = "AA" Then
      Application.EnableEvents = False
      Range("G2") = "bien"
      Application.EnableEvents = True
      End If

      If Range("B1") = "BB" Then
      Application.EnableEvents = False
      Range("G3") = "trés bien"
      Application.EnableEvents = True
      End If

      If Range("C1") = "CC" Then
      Application.EnableEvents = True
      Range("G4") = "Félicitations"
      Application.EnableEvents = True
      End If

      End Sub

      0
      1. J'ai trouvé il faut supprimer le End If et mettre End Sub

        Crdlt

        0