Recherche conditions
Résolu
mb22
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
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
<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
A voir également:
- Recherche conditions
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Recherche photo - Guide
- Je recherche une chanson - Guide
- Rechercher ou entrer l'adresse 4 - recherche google ✓ - Forum Windows
13 réponses
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
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
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
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
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
bonne suite
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
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
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
re
effectivement michel a mieux lu que moi
en s'arrêtant aux ss totaux non nuls
https://www.cjoint.com/?0JopKb66CW4
bonne suite
effectivement michel a mieux lu que moi
en s'arrêtant aux ss totaux non nuls
https://www.cjoint.com/?0JopKb66CW4
bonne suite
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.
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.
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.
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.