Espace pile insuffisant

Résolu
Bonjour,
J'essaie avec ce code d'aller d'une cellule A4 vers G8 si A4 =0 ou G8 versG13 si G8 =0
Cela fonctionne a moitié puisque j'ai un message qui me dit ( espace pile insuffisant) et le programme se ferme .
Où est mon erreur? J'ai trouvé en rajoutant Application.EnableEvents = False et True à la fin
Maintenant j'aimerais savoir comment limiter ce code a 4 cellules dans la même colonne ?
Avec ce code je ne peux plus aller sur aucune cellule de la feuille
Merci pour votre aide
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Range("A4") = 0 Then
Range("G8").Select
End If

If Range("G8") = 0 Then
Range("G13").Select
End If

End Sub


Configuration: Windows / Firefox 70.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
Si la réponse vous satisfait, le merci à gauche vous attend.

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    bonjour, merci d'utiliser les balises de code.
    je n'ai pas compris ce que tu voulais faire et pourquoi tu utilisais selectionchange
    si tu veux que le code ne réagisse que quand tu sélectionnes A4, tu peux faire ainsi:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Row = 4 And Target.Column = 1 Then
        If Range("A4") = 0 Then
            Range("G8").Select
        End If
        If Range("G8") = 0 Then
            Range("G13").Select
        End If
    End If
    End Sub
    1. Bonsoir
      Merci pour ton aide
      Ce que je souhaite avoir comme code
      Si A4=0 le curseur va sur G8 si G8=0 le curseur va sur G13
      Crdlt
      1. Contributeur
        tu n'expliques pas le plus important: à quel moment le curseur doit-il bouger?
    2. Modérateur
      Juste pour expliquer l'erreur de base :
      Quand la sélection change, tu changes la sélection, donc tu relance un événement de changement de la sélection, d'où ton erreur de base.
      1. Bonsoir
        Sur mon fichier réel :
        Si K40=0 K34 Si K34=0 K28 Si K28=0 K22
        Le curseur se place sur la cellule qui correspond en cliquant sur n'importe quelle cellule
        Merci pour votre aide

        1. Contributeur
          il suffit alors d'adapter le code que tu as présenté au départ. évidemment, tant que un des quatre est à zéro, tu ne pourras plus sélectionner une autre cellule.