[Résolu] Erreur: Espace Pile insuffisant

Lone-wolf

XLDnaute Barbatruc
Bonjour à tous,

j'essaie d'adapter le code de Jacques Boisgontier que voici

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If [H5] <> "" Then
Set fl = Sheets(2)
   Set s = fl.Shapes("pointeur")
  s.CopyPicture
 [C9].Activate
  ActiveSheet.Paste
For Each sh In ActiveSheet.Shapes
sh.Name = "pointeur"
   sh.Top = [C9].Top + 1
  sh.Left = [C9].Left + 5
Next sh
End If
Set sh = Nothing
On Error Resume Next
Range("E5, H5").ClearContents
If [E5] = "" Then: [H5] = "": ActiveSheet.Shapes("pointeur").Delete
End Sub

D'après ce que j'ai compris ici, il faut écrire cette ligne de code: Set sh = Nothing.

Apparemment ça n'est pas ce-là; et malgré les diverses tentatives j'ai toujours la même erreur.

J'ai aussi essayé de l'adapter ici:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [E5]) Is Nothing Then [E5].Select
If Intersect(Target, [E5]) Is Nothing Then [H5].Select

        If [H5] <> "" Then
        ActiveSheet.Shapes("pointeur").Visible = True
          lig = Sheets(1).Range("A65536").End(xlUp).Row
             With Sheets(1).Range("a2:a" & lig)
            Set cel = .Find([E5], LookIn:=xlValues, LookAt:=xlWhole)
            If cel Is Nothing Then
          [D9].Value = "Désolé, aucun résultat trouvé."
          ActiveSheet.Shapes("attention").Visible = True
           Exit Sub
         End If
        End With
      End If
End Sub

Pourriez-vous m'aider s'il vous plaît?.
 

Pièces jointes

  • Copier Shape.xls
    56 KB · Affichages: 53
  • Copier Shape.xls
    56 KB · Affichages: 53
  • Copier Shape.xls
    56 KB · Affichages: 56
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Erreur: Espace Pile insuffisant

Re Dranreb,

voilà que maintenant, j'ai un autre problème.

Au moment où je vide les cellules pour faire une autre recherche, la liste déroulante est supprimée, et je n'arrive pas à trouver comment parer à ce problème. Et la shape est copiée plusieures fois.

Vous voudriez bien m'aider s'il vous plaît?.
 

Pièces jointes

  • Copier Shape.xls
    55.5 KB · Affichages: 54
  • Copier Shape.xls
    55.5 KB · Affichages: 52
  • Copier Shape.xls
    55.5 KB · Affichages: 50

Dranreb

XLDnaute Barbatruc
Re : Erreur: Espace Pile insuffisant

Je n'ai pas analysé votre code, parce qu'il est d'abord possible qu'il vienne d'une généralisation irréfléchie de mon 1er conseil.
Moi je vous avait dit de désactiver la gestion d'évènement avant chaque modification de cellule et de la réactiver juste après.
Ce n'est pas pour rien que je ne vous avais pas dit de faire comme vous avez fait.
Il est vrai que cela peut être appliqué une seule fois pour un groupe d'instructions à risque.
Mais entre la mise à False et la remise à True, il ne doit pas y avoir d'Exit Sub !
Votre Worksheet_SelectionChange peut désactiver la gestion des évènements de façon permanente.
À +
 

Dranreb

XLDnaute Barbatruc
Re : Erreur: Espace Pile insuffisant

Ça se comprend tout seul. À moins que vous n'ayez absolument rien compris à la cause de votre problème initial ni à la solution que je vous ai apporté…
Cette propriété a la valeur True si des événements sont activés pour l'objet spécifié. Type de données Boolean en lecture-écriture.
[h=2]Exemple[/h] Cet exemple montre comment désactiver des événements avant l'enregistrement d'un fichier de telle sorte que l'événement BeforeSave n'ait pas lieu.

Application.EnableEvents = False ActiveWorkbook.Save Application.EnableEvents = True
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Erreur: Espace Pile insuffisant

Désolé, après une petite sieste, j'était encore dans les shapes. ;)

Maintenant c'est très clair, et résolu le problème. Il fallait tout mettre dans Worksheet_Change, en supprimant entre autre exit sub.
Et pour supprimer les shapes, j'ai ajouté ceci: ActiveSheet.DrawingObjects.Delete.
Merci encore pour votre aide.

Très bon dimanche. :cool:
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 183
dernier inscrit
angelique76120