Bonjour à tous
Voilà j'ai essayé de créer une macro mais apparemment il doit y avoir une petite erreur.
Donc je voudrai que la macro supprime toute la ligne s'il y a un "0,00) dans la cellue K#.
Qu'est ce qui se passe exactement, ca affiche un bug ?
De plus le 0.00 c'est surement du numérique donc pas besoin de mettre des guillemets et peut être que tu as mis une valeur par défaut.
Dernier truc le plus important :
Code :
Rows("i:i" ).Delete xlUp
Désolé mais la ligne i:i n'existe pas, si par contre tu parle de la ligne donc la valeur est celle de ta variable i tu devrais plutot ecrire :
Code :
Rows(i & ":" & i).delete xlUp
---------------
S'il n'y a pas de solution c'est qu'il n'y pas de problème
mais ça marche toujours pas. En fait la macro ne se bloque pas. en l'éxécutant "pas à pas" j'ai vu que ça passe de "for i=1 to i=2500" à"end if" directement.
la valeur recherchée c'est bien 0,00
rebonjour,
voilà j'ai un autre petit problème, je voudrais effacer la ligne si la cellule en Q est différente de #N/A.
Voici mon code, mais il saute toujours "rows(i).delete"
On confond souvent la valeur (Value) et l'affichage (Text). (Faire le test pour une date par exemple)
Quand tu écris
Cells(..) =
l'interpréteur comprend
Cells(..).Value =
Or la valeur n'existe pas puisqu'il y a une erreur !
Donc puisque ce n'est pas la valeur mais ce qui est affiché que tu veux comparer, utilise la syntaxe complète :
Cells(..).Text =
PS: Fais un effort, indente ton code. Ceci dit autant pour que ce soit agréable à lire pour chacun, mais surtout pour que tu "vois" mieux ton code. Conseil de vieux baroudeur du code.
Et non, Freeman, IsError ne gère pas les erreurs Excel, mais les erreurs gérées par le code VB par l'intermédiaire de CVErr.
En revanche, l'utilisation de EstErreur dans la feuille de calcul est judicieux, mais relève plus de l'utilisation d'Excel que de la programmation VB. L'utilisation de WorksheetFunction.IsNA (Et de toute la famille WorksheetFunction.IsErr) est quand même possible.
Pour le IsError fais un test, je peut me tromper mais en faisant une division par zéro tu teste le Iserror du résultat et ca renvoie true. Je l'ai déjà utiliser et j'ai jamais eu de cas tordu... Mais bon EstErreur c'est quand meme plus "propre"
en A1 tu met 10, en A2 tu mets 0 et en A3 tu fais "=A1/A2".
Cela provoque l'erreur #div/0 et tu met le curseur sur la cellule A3 et en mode debug tu testes :
Code :
?iserror(Activecell)
Après tu peux te mettre sur A2 ou A1 pour vérifier.
Tu peux tester aussi avec une rechercheV si la valeur renvoyée est #N/A (pas trouvé) cela fonctionne aussi.
---------------
S'il n'y a pas de solution c'est qu'il n'y pas de problème