Recherche conditions

Résolu/Fermé
mb22 Messages postés 10 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 11 mars 2013 - 12 oct. 2011 à 20:07
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 - 18 oct. 2011 à 10:52
Bonjour,



<Bonjour,


Je travail avec excel 2002. J'ai un gros fichier de données de comptabilité transféré dans Excel. J'ai des lignes avec des montants de marchandises et des sous-totaux. Les lignes de marchandises sont séparé du sous-total par une cellule contenant des tirets. Mes chiffres (total et sous-totaux) sont tous dans la colonne.
Dans mon fichier j'ai 42000 lignes contenant des centaines de sous-totaux. Certains sous-totaux sont à 0 et d'autre ont des montants. Je dois effacer tous ceux dont le sous-total est à 0 et garder les sous-totaux avec des montants.
Est-ce possible de faire une recherche rapide avec conditions suivantes : dans la colonne 0 recherche les cellules contenant "----------" si le chiffre dans la cellule en-dessous est différent de o arrêté la recherche, sinon continuer ?
Donc l'action est d'arrêté si le sous-total (chiffre sous la cellule contenant les tirret n'est pas 0.
Cela m'éviterais de regarder chacun rang voir si le sous-total est différent de 0.

merci

13 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
13 oct. 2011 à 14:21
bonjour,,

difficile à comprendre...

tu supprimes que les zéros ou toutes les marchandise donnant un sous-total=0?

combien de colonnes concernées et lesquelles?

il faut passer par du vba et toute imprécision est rédhibitoire...

au besoin

pour joindre une pièce
mettre un extrait du classeur( 150 à 300lignes) avec au moins un cas "zéro" sans données confidentielles en pièce jointe (format XL97-2003) sur
https://www.cjoint.com/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse

et bien préciser ce que tu veux obtenir

1
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 429
Modifié par ccm81 le 15/10/2011 à 10:25
bonjour

une proposition a tester sur UNE COPIE de ton fichier

https://www.cjoint.com/?0Jpjyhu8Pzd

RQ. pour 42000 lignes, ça peut prendre un certain temps (j'ai testé pour 30000 lignes environ 1 mn 30 s - sur pentium à 2 GHz)

bonne suite
1
mb22 Messages postés 10 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 11 mars 2013 5
13 oct. 2011 à 16:21
Comme je ne connait rien au vba ou à la programmation, créer une recherche avec conditions (avec la fonction recherche ou formule par exemple rechercheH) serait plus facile pour moi.
Le but c'est que la fonction s'arrête là où le sous-total est différents de 0. Car ça peut-être un chiffre positif ou négatif. Le sous-total est dans la colonne o. Je préfère supprimer moi-même les lignes dont le montant est à 0.
C'est pour cela que je demandais ce genre de formule avec conditions:
"Recherche dans la colonne 0 les cellules contenant "----------" si le chiffre dans la cellule en-dessous est différent de 0 arrêté la recherche, sinon continuer ?
Donc la recherche s'effectue seulement dans la colonne 0 et il n'y a rien a effacer.
Mon problème c,est comment indiqué que je cherche la cellule sous une donné x.

merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
13 oct. 2011 à 16:31
rien compris à ta réponse et comme aucun classeur joint pour peut-^tre éclairer tes propos

juste au passage 42000 à traiter ==> VBA envisagé

désolé, abandon du suivi
0
mb22 Messages postés 10 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 11 mars 2013 5
13 oct. 2011 à 17:25
désolé, je croyais que c'étais plus clair.
J'ai mis une partit du fichier joint.
Exemple de ce que j'aimerais que la recherche donne:
La recherche débute dans le haut du fichier et s'arrête à la cellule O24, puis à O30, O34, O38 puis à O73, car le item subtotal est différent de 0. Elle n,arrête pas à O51, O56 ET o63 car le subtotal est à 0.
Par la suite j'effacerai mauellement les lignes 42 à 65 (car le subtotal est 0)

Donc lorsque le montant dans la colonne O de la ligne Item Subtotal (inscrit dans la colonne I) est différent de 0, la recherche s'arrête.

Est-ce plus clair ?

https://www.cjoint.com/?3JnrksoeV7G

merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
13 oct. 2011 à 17:56
bien reçu, merci

question : ne serait pas plutôt le POsubtotal (colonne I) =0 qui ferait supprimer les ligne s 42 à 65
ou si pa exemple subtotal ligne 51=0 alors je supprime de 42 à 51?

que veux tu dire par "s'arrête à la cellule XY" ? comment signale tu cet arrêt ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 429
13 oct. 2011 à 18:00
bonjour
j'ai peur que michel ait laissé tomber
une solution
1. Alt-F11 pour accéder à l'éditeur de macro/insertion/module
2. Copier/colle ce code
3. modifier éventuellement les constantes
4. retour à la feuille
5. outils/macro/choisir la macro/option/donner un raccourci clavier (ctrl+t par ex)
6. / se placer dans la colonne O puis ctrl+t

Option Explicit

Const trait As String = "----------------"

Public Sub ChercheTrait()
Dim co As Long, li As Long
With ActiveSheet
  li = ActiveCell.Row
  co = ActiveCell.Column
  While (.Cells(li, co) <> trait) Or (.Cells(li + 1, co) <> 0)
    li = li + 1
  Wend
  .Cells(li + 1, co).Select
End With
End Sub

bonne suite
0
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 429
13 oct. 2011 à 18:03
bonjour michel,
désolé, avec ce temps, le rafraichissement à trainé !!!
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
13 oct. 2011 à 18:45
bonsoir,
ok, mais j'ai pas compris la m^me chose. on verra demain suivant la réponse de mb22
0
mb22 Messages postés 10 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 11 mars 2013 5
14 oct. 2011 à 15:04
Pour répondre à Michel,
J,ai vraiement besoin de me référer à la ligne Item subtotal, c'est cele là qui me sert de référence..
Lorsque j'inscrit "s'arrête à la cellule x" c'est que j'aimerais que le résultat de recherche se positionne sur la cellule du résultat de item subtotal cellule ayant un montant.
Dans l'exemple joint, dans le bas du fichier les lignes 1 à 20 & 67 à 73 ne doivent pas être effacées (article + subtotal) . Lorsque le résultats de itemsubtotal est différent de 0 je doit garder les lignes supérieur ayant un lien avec le total.
Donc les lignes que j'effacerais : 42 à 65, car le itemsubtotal est à 0 j'efface l'itemsubtotal ainsi que les articles précédent lié à ce subtotal.
Je préfère que les chiffres ne soit pas effacer automatique pour vérifier en cas d'exeption.

Désolé ça l'air plus compliqué à expliquer par ecrit que verbal.
Y-a-t-il possibilité d,avoir une formule avec conditions indiquant que lorsqu'il trouve dans la colonne I "Item Subtotal" que si le montant dans la colonne O est différent de 0 qu'il se positionne dans la cellule ou s'il est égal à 0 qu'il recherche le suivant.
Je peux trouver comment faire une recherche pour I avec "item subtotal" mais je ne sais pas comment lui indiqué que la valeur de la colonne 0 de la même ligne doit être différent de 0.

merci
0
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 429
14 oct. 2011 à 15:38
re

effectivement michel a mieux lu que moi
en s'arrêtant aux ss totaux non nuls
https://www.cjoint.com/?0JopKb66CW4

bonne suite
0
mb22 Messages postés 10 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 11 mars 2013 5
14 oct. 2011 à 16:02
WOW MERCI BEAUCOUCP BEAUCOUP ÇA MARCHE.

GROS MERCI
0
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 429
14 oct. 2011 à 16:48
de rien,
et une mention à michel pour son oeil de lynx

bonne fin de journée
0
mb22 Messages postés 10 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 11 mars 2013 5
14 oct. 2011 à 17:10
Merci, ma collègue était aussi très heureuse de cela. Elle désire savoir si c'est possible (ou comment modifier la macro) pour effacer les données que l'on ne veut pas.
Nous gardons seulement le item subtotal avec un chiffre différent de 0 ainsi que les données au dessus. Le po subtotal est effacer peut importe le chiffre
Comme c'est compliqué à expliquer je te joint le fichier. J'ai mis en couleur ce que l'on doit garder et d'une autre couleur ce qu'il y a à effacer.


https://www.cjoint.com/?3Jorf0DIL6O
merci infiniement, cela nous sauvera beaucoup de temps.
0
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 429
14 oct. 2011 à 17:16
quand tu dis effacer, c'est supprimer les lignes?
0
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 429
14 oct. 2011 à 17:18
est ce que la feuille s'arrete colonne O ?
0
mb22 Messages postés 10 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 11 mars 2013 5
14 oct. 2011 à 17:18
oui on pourra finalement supprimer les lignes.
0
mb22 Messages postés 10 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 11 mars 2013 5
14 oct. 2011 à 17:26
oui la colonne O est la dernière colonne contenant des info.
Mais contrairement au fichier joint le vrai contien des infos dans la colonne A, B, G & H (des numéros de Po et de commande), j'ai simplement effacer le contenu des colonnes.
0
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 429
14 oct. 2011 à 17:47
bon, il n'y a plus qu'à

par contre ce ne sera pas pour tout de suite, le devoir m'appelle
0
Un gros gros merci.
Ça marche.

Tu nous sauve des heures de travail.
Effectivement ça prend quelques minute, mais pendant ce temps je pourrai faire autre chose.

merci encore.
0
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 429
18 oct. 2011 à 10:52
de rien

peux tu mettre le sujet à Résolu (je crois que tu dois t'inscrire comme membre avant)

bonne journée
0