Macro Excel supression lignes avec condition
Raffton
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
lucho33 -
lucho33 -
Bonjour à tous,
j'ai un classeur excel qui doit faire dans les 5000 lignes et plus de 20 colonnes, autant dire que ya de la cellule...
La colonne A contient les noms des produits, on y touche pas. les colones B à i contiennent des chiffre d'affaire. chaque colone corresspond a une année. voila le topo.
certains produits ont un CA= 0€ .. mon but est de créer une macro qui parcour le tableau en commençant par la colone B de la ligne 1 et qui regarde si la cellule (B1) est = "0"; si la condition est verfiée alors passe a la colone suivant (on est dans la cellule C1) et refait le test ; si la condition est verifiée passe a la colonne suivante et ainsi de suite jusqu'à la derniere colone si la cellulle de la derniere colonne sensée avoir un CA est ="0" alors il supprime la ligne. Si la ligne est suprimée il ne passe pas a la ligne 2 (car elle est remontée en ligne 1) , si non alors passe a la ligne 2 .
voila , j ai essayé d etre le plus precis possible et le plus clair.
en gros je doi supprimer les lignes dont TOUT les CA sont ="0"
merci d'avance a ceux qui me proposeront des suggestions de code...
bonne journée
Raff
j'ai un classeur excel qui doit faire dans les 5000 lignes et plus de 20 colonnes, autant dire que ya de la cellule...
La colonne A contient les noms des produits, on y touche pas. les colones B à i contiennent des chiffre d'affaire. chaque colone corresspond a une année. voila le topo.
certains produits ont un CA= 0€ .. mon but est de créer une macro qui parcour le tableau en commençant par la colone B de la ligne 1 et qui regarde si la cellule (B1) est = "0"; si la condition est verfiée alors passe a la colone suivant (on est dans la cellule C1) et refait le test ; si la condition est verifiée passe a la colonne suivante et ainsi de suite jusqu'à la derniere colone si la cellulle de la derniere colonne sensée avoir un CA est ="0" alors il supprime la ligne. Si la ligne est suprimée il ne passe pas a la ligne 2 (car elle est remontée en ligne 1) , si non alors passe a la ligne 2 .
voila , j ai essayé d etre le plus precis possible et le plus clair.
en gros je doi supprimer les lignes dont TOUT les CA sont ="0"
merci d'avance a ceux qui me proposeront des suggestions de code...
bonne journée
Raff
A voir également:
- Macro Excel supression lignes avec condition
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
3 réponses
Bonjour,
Voici un exemple de code à insérer dans un module vba :
Je l'ai testé, il fonctionne.
Espérant avoir répondu à ton attente.
Cordialement.
Papou
Voici un exemple de code à insérer dans un module vba :
For n = 1 To ActiveSheet.UsedRange.Rows.Count If Application.WorksheetFunction.Sum(Range(Cells(n, 2), Cells(n, 20))) = 0 Then Rows(n).Delete Next
Je l'ai testé, il fonctionne.
Espérant avoir répondu à ton attente.
Cordialement.
Papou
Et si tu créais en colonne 256 un total CA genre"=somme(Bn,IIn)" et que tu teste uniquement cette cellule pour ta ligne, ce ne serait pas plus simple?
Bonjour à tous,
j'importe des données en continue dans un fichier Excel. les données s'affiche dans les colonnes A et B. Comme c'est une saisie en continue, le nombre de ligne n'a pas de limites. j'aimerai en fait automatiser le fait de supprimer les cellules A1 et B1 lorsque les cellules A10 et B10 ( par exemple), ne sont plus vides.
je connais pas grand chose en prog!!!
merci pour votre aide!!!
j'importe des données en continue dans un fichier Excel. les données s'affiche dans les colonnes A et B. Comme c'est une saisie en continue, le nombre de ligne n'a pas de limites. j'aimerai en fait automatiser le fait de supprimer les cellules A1 et B1 lorsque les cellules A10 et B10 ( par exemple), ne sont plus vides.
je connais pas grand chose en prog!!!
merci pour votre aide!!!
merci Papou pour ta réponse rapide et desolé pour le retard de la mienne.
alors , j ai inséré ton code dans ma macro mais il me dit " erreur definie par l'aplication ou l'objet ... " l'erreur se situant sur la ligne : If Application.WorksheetFunction.Sum(Range(Cells(n, 2), Cells(n, 2000))) = 0 Then ...
voila je sais pas trop d'ou ca peu venir...
merci
cordialement
raff
A mon tour d'être désolé pour le retard, j'étais retenu loin de chez moi.
Si je reprends ta ligne :
If Application.WorksheetFunction.Sum(Range(Cells(n, 2), Cells(n, 2000))) = 0 Then ...
Je pense que l'erreur vient du nombre de colonnes (2000) qui dépasse la capacité d'Excel : en effet, n représente la ligne et 2000 la colonne (maxi : 256 colonnes)
Cordialement.
Papou
Menu /Données/Filtre élaboré ?