rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[macro excel] suppression de ligne sous condi

JOLARITALE, le samedi 5 juillet 2008 à 14:21:46
Bonjour,
j'ai trois tableaux excel.
j'en avais 5 de 10 000 ligne chacun, je peut pas reduire le nombre de tableau d'avantage.

Ce que j'ai comme tableau :

Une liste de 28 colonnes, seules les colonnes A B E et V sont variables manuellement, toutes les autres sont modifié automoatiquement par rapport a ce qu'on ecri dans la colonne E
la colonne A correspond au numéro de la semaine
la colonne B correspond au nom de personnes
la colonne E correspond au matière utilisées (par la personne colonne B)
la colonne V correspond au temps d'utilisation de la matière (colonne E) par la personne (colonneB)

Les données des colonne A B E et V sont toute trois dans un autre tableau

pour reprendre les valeurs j'ai utilisé la fonction égale d'Excel

mais (eh oui il y a un mais), il y a des matière qui ne doivent pas entrer dans la liste de 28 colonnes...
pour celle ci, les colonne de F à U comporte les donnée "#N/A"

j'aimerais créer une macro me supprimant toutes les ligne qui un "#N/A" en colonne C

comment je fais?
c'est la première macro que je vais etre amener à faire...
je vous en prie soyez indulgent si je comprend pas tout tout de suite...

Merci ;)
Configuration: Windows Vista
Internet Explorer 7.0
Répondre à JOLARITALE  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
m@rina, le samedi 5 juillet 2008 à 16:51:33
Bonjour

Voici une petite macro qui supprime la ligne entière si la cellule testé renvoie une erreur #N/A (remplace "ma feuille" par le nom de ta feuille ;))

Sub supprime()
For Each c In Worksheets("ma feuille").Range("C:C")
If IsError(c.Value) Then
If c.Value = CVErr(xlErrNA) Then
c.EntireRow.Delete
End If
End If
Next c

End Sub
Répondre à m@rina

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOLARITALE, le dimanche 6 juillet 2008 à 07:27:49
merci de répondre si vite
pour le moment je suis pas chez moi mais des que je rentre j'essai

merci beaucoup
Répondre à JOLARITALE

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOLARITALE, le dimanche 6 juillet 2008 à 21:11:21
ca me dit erreur d'exécution '1004'

la méthode Delete de la classe Range a échoué.

et la ligne c.EntireRow.Delete apparait en jaune surligné...

que dois je faire?
Qu'est ce que ca veux dire?

Merci
Répondre à JOLARITALE

4


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
m@rina, le lundi 7 juillet 2008 à 00:01:31
Bonsoir,

Est ce que par hasard tes ta feuille serait protégée ? Je ne vois que ça...
Quelle est ta version d'Excel ?

m@rina
Répondre à m@rina

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOLARITALE, le lundi 7 juillet 2008 à 11:19:39
ma feuille pourrait etre protégée??? ho la coquine et elle me l'avait pas dit...
je sais pas trop... comment je peut verifier ça?

je suis sous 2003
Répondre à JOLARITALE

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOLARITALE, le lundi 7 juillet 2008 à 11:21:26
est ce que c'est possible de rajouter une condition?

il faudrait donc que la colonne C contienne #N/A et que la colonne E soit non vide
Répondre à JOLARITALE

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOLARITALE, le lundi 7 juillet 2008 à 11:32:43
je viens de rééssayé sur un autre classeur
ca marche presque

sur une colonne de 10 #N/A il m'en supprime 5 puis apres en refesant le raccourci il en supprime 3 puis ensuite les dernier un par un

je ne comprend pas
Répondre à JOLARITALE

8


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
m@rina, le lundi 7 juillet 2008 à 12:04:58
Bonjour,

Ouppss !! Effectivement, comme d'habitude, j'avais oublié le problème des suppression de lignes dans une boucle... Quand la ligne est supprimée, Excel descend d'une ligne parce qu'elle est supprimée, et descend à nouveau parce que c'est la boucle, et toutes les lignes souhaitées ne sont donc pas supprimées !

Pour pallier ce problème il faut partir du bas :

Sub supprime3()
Dim i As Integer
For i = Range("C65000").End(xlUp).Row To 1 Step -1
If IsError(Range("C" & i).Value) And Range("E" & i).Value = "" Then
If Range("C" & i).Value = CVErr(xlErrNA) Then
Range("c" & i).EntireRow.Delete
End If
End If
Next

End Sub

ps : j'ai intégré la deuxième condition : E doit être vide
Répondre à m@rina

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOLARITALE, le lundi 7 juillet 2008 à 12:11:44
trop bien ca marche
tu es super forte!!!

par contre euh.. enfait E doit etre non vide

si E est vide faut la laisser et si E contient quelque chose il faut la supprimer...
Répondre à JOLARITALE

10


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
m@rina, le lundi 7 juillet 2008 à 13:50:15
Je suppose que tu l'auras corrigé toi même... sinon, tu remplaces
And Range("E" & i).Value = "" Then

par :
And Range("E" & i).Value <> "" Then

m@rina
Répondre à m@rina

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOLARITALE, le lundi 7 juillet 2008 à 14:37:32
euh...
c'est la premiere macro que je suis amener à utiliser... donc la modifier... non j'aurais pas su ;)

Merci beaucoup!!!

tu es vraiment trop géniale!!!
Répondre à JOLARITALE

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOLARITALE, le mercredi 9 juillet 2008 à 12:54:35
ca bugg

j'ai rééssayer ce matin

la macro me dit qu'il y a un problème avec le 2eme End If...
Répondre à JOLARITALE

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
m@rina, le mercredi 9 juillet 2008 à 13:35:03
Bonjour,

Franchement, je vois vraiment pas ce qui peut gêner... J'ai retesté => Pas de problème !

As tu essayé de modifier la macro ?

m@rina
Répondre à m@rina

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOLARITALE, le mercredi 9 juillet 2008 à 13:40:38
Bonjour,

J'ai bien essayer de prendre des bout de macro par ci par la pour voir mais... non...

quand je le lance il me surligne le 2eme End If

voila ma macro

Sub supp()

Application.ScreenUpdating = False

Dim i As Integer
For i = Range("C2500").End(xlUp).Row To 1 Step -1
If IsError(Range("C" & i).Value) And Range("E" & i).Value <> "" Then
If Range("C" & i).Value = CVErr(xlErrNA) Then
Range("c" & i).EntireRow.Delete
End If
End If
Next

Application.ScreenUpdating = True

End Sub
Répondre à JOLARITALE

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
m@rina, le mercredi 9 juillet 2008 à 14:05:54
Re-essayé chez moi, pas de problème !!!

En plus une erreur juste sur un End If, ça paraît curieux...
Elle dit quoi l'erreur ?

T'es sûre de ne pas avoir mis un point d'arrêt sur le End If ? (gros point rouge devant la ligne)
m@rina
Répondre à m@rina

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOLARITALE, le mercredi 9 juillet 2008 à 14:10:45
euh... non

j'aipas fait de chose qui ressemble a un gros point rouge ;)

en meme temps c'est pas grave... je vais revenir a la bonne vielle méthode... vais les trier en fonction de C puis de E et supprimer toutes les dernière lignes...
Répondre à JOLARITALE

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
m@rina, le mercredi 9 juillet 2008 à 14:24:36
Tu peux exporter la macro (en .bas) et la mettre sur cjoint.com ?

Pour exporter : tu cliques dans la macro, puis Menu, Exporter un fichier

C'est vraiment incompréhensible

m@rina
Répondre à m@rina

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOLARITALE, le mercredi 9 juillet 2008 à 14:35:37
je peut pas le faire ici...
mais je pourrais le faire ce soir

mais c'est pas grave je vais le faire a la main tant pis
ne t'embete pas...
Répondre à JOLARITALE

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
JOLARITALE, le jeudi 10 juillet 2008 à 16:37:41
Voila le fichier
http://www.cijoint.fr/cjlink.php?file=cj200807/cijh0qZDcO.xl­s.

Ici, les ligne 793, 795 à 798 et 801 devrais se supprimer
mais ça coince

par contre j'ai essayé de mettre le .bas sur cijon mais le ça dit que le format est non supporté.
Répondre à JOLARITALE

20


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
m@rina, le jeudi 10 juillet 2008 à 23:54:06
Bonsoir,

Je suis désolée, mais ton fichier n'est vraiment pas fait dans les règles de l'art Excel !!!

Règle importante : JAMAIS de cellules fusionnées dans un base de données !!! Donc à supprimer toutes ces cellules fusionnées...

Deuxième règle : Jamais d'entêtes de colonnes sur 1 ou plusieurs lignes...

Ensuite : tu as une pseudo liaison avec une macro qui sort de je ne sais où et qui fait planter : à supprimer (Menu Edition, Liaison, Rompre les liaisons).

Et pour terminer : tu m'as dit que l'un des critères étaient que les cellules de la colonne E ne soit pas vides. Or, aucune cellule de la cellule E n'est vide... Il y a une formule dans chaque cellule ! Et une cellule avec une fomule, même si le résultat est "rien", n'est pas une cellule vide !

m@rina
Répondre à m@rina

21


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 JOLARITALE, le vendredi 11 juillet 2008 à 07:56:00
Bonjour ;)

Merci :)

Maintenant ça marche beaucoup mieux en effet ;)
Répondre à JOLARITALE
Logiciels pertinents trouvés dans les téléchargements
Télécharger MOREFUNC (Macro complémentaire EXCEL) 5.06MOREFUNC (Macro complémentaire EXCEL) - Morefunc est une macro complémentaire proposant 67 nouvelles fonctions de feuille de calcul pour Excel. Ces fonctions sont...Catégorie: Tableur
Licence: Freeware/gratuit
Télécharger Excel Viewer 2003Excel Viewer - Avec Microsoft Office Excel Viewer 2003, vous pouvez ouvrir, afficher et imprimer des classeurs Excel (fichiers XLS ), même...Catégorie: Tableur
Licence: Freeware/gratuit
Télécharger Support IPX pour Vista 1.0Support IPX pour Vista - Le protocole IPX/SPX sert à de nombreux anciens jeux pour pouvoir jouer en réseau (Red Alert, Command & Conquer, etc.). ...Catégorie: Librairies (DLL)
Licence: Freeware/gratuit
Télécharger Ms Word Excel Cracker 2.2Ms Word Excel Cracker - Ms Word Excel Craker est une application permettant de retrouver les mots de passe perdus ou oubliés pour les fichiers.xls...Catégorie: Suite bureautique
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [macro excel] suppression de ligne sous condi »