Pourquoi ce code plante au dela d'un certain nombre de lignes dans un fichier excel ?Code:
1
2
3 ActiveSheet.Shapes().SelectAll Selection.Delete
(Erreur automation)
Version imprimable
Pourquoi ce code plante au dela d'un certain nombre de lignes dans un fichier excel ?Code:
1
2
3 ActiveSheet.Shapes().SelectAll Selection.Delete
(Erreur automation)
Je te conseille une boucle For Each sur ta collection Shapes.
Code:
1
2
3
4
5
6
7 Dim compteur As Integer nbr_lignes = ActiveSheet.UsedRange.Rows.Count For compteur = nbr_lignes To 1 Step -1 ActiveSheet.Shapes().Select Selection.Delete Next compteur
C'est pas mieux !Citation:
Erreur d'execution '-2147319765 (8002802b)':
erreur automation
element introuvable
Pas mieux !
Code:
1
2
3
4 Dim sr As ShapeRange ActiveSheet.Shapes.SelectAll Set sr = Selection.ShapeRange sr.Delete
Ce n'est pas du tout une boucle For Each dans une collection, ça!Citation:
Envoyé par bernard38
Enfin, si la solution de bidou fonctionne, utilise-la. Elle est nettement plus simple.
Il plante quand même a la ligne
Ca marche bien au dessous d mille lignes.Code:
1
2 ActiveSheet.Shapes.SelectAll
Là j'ai 1533 lignes et 7 col.
Et ça plante !
Mais si le but est de supprimer le contenu d'un onglet dans Excel, pourquoi ne fais-tu pas tout simplement
Heum... Je viens de lire le titre du post... Désolé... :oops:Code:ActiveSheet.Cells.Clear
Le but est de supprimer de petites images (genre petites enveloppes) après un copier coller de pages html dans ma feuilles
Et si tu fais deux passages avec gestion d'erreur sur le premier ?
Juste pour essyer de comprendre :wink:
Tu disCode:
1
2
3
4
5
6
7
8
9
10 Dim sr As ShapeRange Dim ok as boolean Do while not ok ActiveSheet.Shapes.SelectAll Set sr = Selection.ShapeRange sr.Delete ok = err = 0 err.clear Set sr = Nothing loop
A+
NB - Possible que ça plante le system :twisted:
bonsoir
tu peux tester
Code:
1
2
3
4 Dim Obj As Shape For Each Obj In ActiveSheet.Shapes Obj.Delete Next Obj
bonne soiree
michel
Bonjour à tous,
Ma réponse est valable pour toutes les solutions proposées:
Je plante toujours au dela d'un certain nombre de lignes avec toujours le même message.
Je suis en train d'affiner pour voir exactement le nombre de lignes acceptées (entre 500 et 800)
Bon,apparemment il ne s'agit pas d'une erreur sur la fonction shape.
J'ai essayé ça:
Il me fait la même erreur à l'execution de la dernière ligne.Code:
1
2
3
4
5
6
7
8 Range("A1").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Copy Sheets.Add Range("A1").Select ActiveSheet.Paste Sheets("Feuil1").Select
On dirait qu'il ne connaît plus ma feuille1 ??