"If Not Intersect" fonctionne mal !!!

Thekak

XLDnaute Nouveau
Bonjour,

J'utilise la fonction "If Not Intersect" pour effacer des formes (shapes) situées dans un range bien défini avec le code suivant :

Code:
Dim A As Integer
A = 7
Dim sh As Shape
For Each sh In ActiveSheet.Shapes
    If Not Intersect(sh.TopLeftCell, Range(Cells(A, 1), Cells(A + 25, 39))) Is Nothing Then sh.Delete
Next sh

De manière qui me parait aléatoire, ça marche très bien ou ma macro m'envoie en debug en me surlignant cette partie du code :

Code:
If Not Intersect(sh.TopLeftCell, Range(Cells(A, 1), Cells(A + 25, 39))) Is Nothing Then

Pouvez-vous m'aider SVP car ça fait un moment que je sèche là-dessus.
Avez-vous une idée de ce qui pourrait faire bugguer cette formule ou avez-vous une autre méthode à me proposer pour réaliser la même chose.
Merci d'avance !
 
Dernière édition:

xou

XLDnaute Nouveau
Re : "If Not Intersect" fonctionne mal !!!

Bonjour,

J'ai exactement le même problème que vous et je n'ai pas de réponse.

La seule chose que j'ai remarqué, c'est que l'erreur survient après avoir sélectionné une cellule contenant des validations de données, même si j'en sélectionne une autre après.
Le simple fait d'avoir sélectionné une de ces cellules dans la session Excel, génère l'erreur.

Voila, c'est la seule maigre contribution que je peux apporter à notre problème.
J’espère que d'autre utilisateurs plus aguerris pourront nous répondre.
Merci.
Cordialement.
 

Thekak

XLDnaute Nouveau
Re : "If Not Intersect" fonctionne mal !!!

Bonjour,

Je ne m'étais pas aperçu du lien existant entre l'utilisation de cellules contenant des validations de données et ce bug.
Merci de cette info, même si elle ne règle pas mon problème car j'ai besoin de garder des menus déroulants dans mon fichier.
Je n'ai toujours pas trouvé de solution miracle aujourd'hui et j'espère en effet qu'un expert Excel pourra nous proposer une correction.
Je n'ai pas non plus trouvé de solution pour effacer une image d'une autre manière afin de contourner le problème.
Si vous trouvez quelque chose, je suis toujours preneur.
Cordialement
 

Thekak

XLDnaute Nouveau
Re : "If Not Intersect" fonctionne mal !!!

Bonjour,

Je ne connais pas la différence entre les 2, donc je ne sais te répondre.
Il est situé au même endroit que si j'effectuais un enregistrement de macro (si ça peux te permettre d'en déduire la réponse).
Cdlt,
 

Thekak

XLDnaute Nouveau
Re : "If Not Intersect" fonctionne mal !!!

Les 2 macros Insertion_Image et Insertion_Carto.
C'est le code :
If Not Intersect(sh.TopLeftCell, Range(Cells(Noligne, 5), Cells(Noligne + 2, 6))) Is Nothing Then sh.Delete

qui normalement supprime tous les objets dans le Range défini.
Le but est de supprimer une image avant d'en insérer une autre.
Cdlt,
 

Pierrot93

XLDnaute Barbatruc
Re : "If Not Intersect" fonctionne mal !!!

Re,

A noter tout de même si j'exécute ton code :
Code:
Dim sh As Shape
For Each sh In ActiveSheet.Shapes
    If Not Intersect(sh.TopLeftCell, Range(Cells(Noligne, 5), Cells(Noligne + 2, 6))) Is Nothing Then sh.Delete
Next sh

pas à pas, cela bogue.... la propriété "TopLeftCell" de la "shape" étant non valide.... en exécution normale cela passe, mais je ne vois pas d'image "deleter"...;
 

Thekak

XLDnaute Nouveau
Re : "If Not Intersect" fonctionne mal !!!

Ce qui est surprenant, c'est que la macro fonctionne tout de même la plupart du temps et que même lorsqu'elle boggue, si on ne va pas sur le déboggueur l'image est effectivement supprimée. Cela veut bien dire que la syntaxe est bonne...

Sinon, connais-tu un autre code pour supprimer une image placée sur une plage de données ?
 

Thekak

XLDnaute Nouveau
Re : "If Not Intersect" fonctionne mal !!!

Bonsoir,

J'ai modifié le code et j'ai toujours cette Erreur d'exécution 1004.

Comme le disais XOU, il semble que cette erreur apparaisse dès que je sélectionne une cellule contenant des validations de données (dans mon cas, une liste dans un menu déroulant), et même si j'en sélectionne une autre après.
Quand j'ouvre juste le fichier et que je fais tourner la macro, pas de soucis, mais dès que je vais sur la case associée à mon menu déroulant, même si je n'y fait pas de modification, quand je relance la macro ça boggue...
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz