INFO : Faire planter Excel... [Résolu]

Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Dernière intervention
14 mars 2016
- 2 févr. 2010 à 15:30 - Dernière réponse :
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Dernière intervention
14 mars 2016
- 2 févr. 2010 à 22:22
Bonjour,

Voici un petit code pour faire planter excel 2003, au moins...

Sub Macro1()
    
    Range("D8").AddComment.Shape.Delete
    
End Sub


Il reste à activer la macro, puis à cliquer sur D8... et boum... Excel rencontre un problème, patati patata...

Est-ce que c'est la même chose pour les autres versions ?!

Amicalement,
Us.
Afficher la suite 

Votre réponse

18 réponses

Meilleure réponse
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 2 févr. 2010 à 15:42
3
Merci
lol
Perso, il m'a fallu cliquer.
Et ça marche aussi pour B3 (lol)

Sous Office 2007, l'erreur ne se produit pas.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_Jack
Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 2 févr. 2010 à 17:57
3
Merci
Bonjour,
J'ai également Excel 2007 :
Ni plantage, ni erreur ... sauf si, bien évidemment, un commentaire, même vide, est déjà là (et c'est alors le addcomments qui provoque bien sûr l'erreur)
Maintenant : attention : lorsque l'on travaille longtemps sur un projet sans enregistrer et que la pile des erreurs successives dénoncées est grande, Excel a la mauvaise habitude de disjoncter purement et simplement (tu es peut-être dans ce cas et tu avais peut-être déjà un commentaire et alors l'erreur provoquée par le addcomments a peut-être été la dernière goutte ayant fait déborder le vase)

PS ; Juste pour satisfaire ma curiosité (je suis curieux) : quel est le but de .AddComment.Shape.Delete ?

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de ucfoutu
Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 2 févr. 2010 à 18:39
3
Merci
Ah, mais non !
Excel se débrouille comme un chef, dans cette affaire de fous ...
Tu vas voir :
1) pas de message d'erreur
2) il signale (petite coche rouge dans la cellule) qu'elle contient maintenant un commentaire
3) le menu contextuel de la cellule ne propose pas l'effacement de ce commentaire (comme en présence d'un commentaire, habituellement)
4) Il propose par contre une option "Afficher/masquer le commentaire" ... Si on la choisit, on a droit à une boîte de dialogue nous disant qu'il n'y a pas de commentaoire ...

La "totale", quoi !

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de ucfoutu
Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 2 févr. 2010 à 18:47
3
Merci
Et pour compléter le tableau :
Il dit qu'il n'y a aucun commentaire (comme exposé), mais si l'on clique sur "modifier le commentaire" ===>> Va bene ===>> il accepte


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de ucfoutu
Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 2 févr. 2010 à 19:45
3
Merci
Oui, mais sur quelle version ?
Excel 2007.
Version 12.0
A-t-elle quelque-chose de spécial qui m'aurait échappé ?
Lui échappe-t-il une certaine incongruité ?
Manaarf ! ===>> je ne fais que constater et rapporter mes constatations

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de ucfoutu
Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 2 févr. 2010 à 19:56
3
Merci
Et j(ajoute que sur ma version, intellisense (abrutisense ?) n'hésite pas à proposer chacun des verbes après cjhaque point dans, par exemple :
Range("D8").AddComment.Shape.Application.ActiveCell.Areas.Count


Voilà qui ne veut bien sûr rien dire, mais abrutisense propose tout et n'importe quoi à qui veut s'amuser
Et, bien évidemment, on a droit (ouf) à un message d'erreur (il était temps !) à l'exécution ....(vachement explicite quant à la propriété fautive : " utilisation incorrecte vde la propriété " !) ==>> tout est alors pour le mieux dans le monde de abrutisense
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de ucfoutu
Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 2 févr. 2010 à 21:43
3
Merci
Hé ! Us_30,

T'as pas compris que je me moquais tout au long des bévues de Micromachin ?
Relis et tu verras toute l'ironie à l'égard de cette équipe (celle de Mister Bill) ... pas à ton égard ...
Les "réparations" qui semblent avoir été faites sur ma version ne sont pas plus "soignées" et "bien pensées" que ce qui existait (je te crois sur parole) avant.
Quant à abrutisense, il semble que l'on se soit contenté d' "aligner" des "propositions" toujours les mêmes en fonction du dernier verbe précédent un signe . (et voilà .... pourquoi l'adjectif utilisé : abrutisense)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de ucfoutu
Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 2 févr. 2010 à 21:58
3
Merci
Tu me rasures.

Et tout (de cet abrutisense) a ainsi été "bâti" !
l'IDE ne dénoncerait (en mode création) aucune erreur si l'on écrivait par exemple :
Code Visual Basic :

MsgBox Range(Cells("A1")).Rows.Address



Rows serait proposé après le 1er ., Address serait proposé après le 2ème .
Il faudra attendre l'exécution pour constater une erreur pourtant fondamentale


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de ucfoutu
Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 2 févr. 2010 à 22:11
3
Merci
Et la chose peut devenir comique !
regarde ce qui se passe à chaque frappe d'un signe . dans ce :
MsgBox Range("A1").Application.ActiveCell.Application.ActiveCell.Address

et le résultat, ....


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Dernière intervention
14 mars 2016
- 2 févr. 2010 à 15:34
0
Merci
ou attendre qlq secondes au lieu de cliquer... trop fort !
Commenter la réponse de us_30
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Dernière intervention
14 mars 2016
- 2 févr. 2010 à 15:46
0
Merci
et comment réagit excel 2007... donne-t-il une erreur dans le script ?

Amicalement,
Us.
Commenter la réponse de us_30
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Dernière intervention
14 mars 2016
- 2 févr. 2010 à 18:23
0
Merci
Non, non... Excel 2007 ne retourne peut-être pas d'erreur, mais Excel 2003, si. Confirmé par jack.

... et, non la cellule ne possède pas de commentaire avant, sinon il y a un traitement normal de l'erreur par l'arrêt du script. J'ai testé à vide. et aussi qlq autres propriétés ensuite, et on obtient seulement un traitement normal de l'erreur... C'est juste avec "delete" que cela bug grave...

Sinon le sens de :
.AddComment.Shape.Delete
veut dire rien du tout ! plus absurde, on peut pôs !

... néanmoins on peut le former avec les propositions du bandeau "d'intellisense"...

... et comme cela ne veut rien dire, c'est pour ça que je reste étonné que Excel 2007 ne dit rien, d'ailleurs... Cela veut dire qu'il exécute un code idiot sans bug (donc sans arrêt). Bref, Excel2007, considère qu'un code qui mériterait un arrêt du script (comme normalement c'est le cas) ne veut même pas la peine de s'arrêter !? (pourquoi s'arrêter si le programmateur code comme un pied ?... je poursuis... Génial Excel2007 )

Amicalement,
Us.
Commenter la réponse de us_30
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Dernière intervention
14 mars 2016
- 2 févr. 2010 à 18:54
0
Merci
Oui, mais sur quelle version ?

Ensuite cela reste anormal... puisqu'il n'exécute pas les propriétés (absconses ici)...

Amicalement,
Us.
Commenter la réponse de us_30
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Dernière intervention
14 mars 2016
- 2 févr. 2010 à 21:35
0
Merci
t'enflammes pôs...

Donc, oui un truc t'as échappé... la version où je constate le bug, c'est 2003... Voilà, pour répondre aux propos précédents...

Ensuite, bien sur, on peut bâtir un certain nombre de propriété incongrue avec "abrutisense", mais en principe doit être détectée comme des erreurs lors de l'exécution... mais la proposition que je relate passe à travers du comportement normal, pour conduire à un plantage sans appel d'Excel ( 2003, donc)... Visiblement pour 2007, Microsoft à eu vent de se bug, où alors à modifier le traitement des erreurs fatales, pour les traiter sans arrêt brutal... à la manière de TRY de VB.NET, en quelque sorte... En ce sens, il sera plus difficile de faire un plantage des versions 2007, que les précédentes... C'est tant mieux d'une certaine manière, mais bon...

Reste à savoir pour les anciennes versions, quelles sont les résultats...

Amicalement,
Us.
Commenter la réponse de us_30
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Dernière intervention
14 mars 2016
- 2 févr. 2010 à 21:50
0
Merci
j'ai bien compris ton ironie... t'inquiètes pas...
t'enflammes pôs...

j'ironise sur ton ton combatif : "Et j'ajoute...", plutôt que sur MicroSoft...

Amicalement,
Us.
Commenter la réponse de us_30
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Dernière intervention
14 mars 2016
- 2 févr. 2010 à 22:13
0
Merci
hum... abrutisense est surtout là pour éviter (ou presque) d'écrire, pas pour aider à programmer...

Quelle est la différence entre ...
MsgBox Range("A1").Rows.Address
MsgBox Range("A1").Address



Amicalement,
Us.
Commenter la réponse de us_30
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Dernière intervention
14 mars 2016
- 2 févr. 2010 à 22:14
0
Merci
oupss... en même temps...
Commenter la réponse de us_30
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Dernière intervention
14 mars 2016
- 2 févr. 2010 à 22:22
0
Merci
et pis, on peut aussi programmer une action inutile :
Range("A1").AddComment.Delete

toujours très utile...

Amicalement,
Us.
Commenter la réponse de us_30

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.