Comparaison d'une cellule sélectionné par rapport à la cellule au dessus

Bonjour,

J’ai besoin d’aide pour un fichier de gestion de stock, j’ai une macro qui va me rechercher dans mon fichier de gestion de stock la référence que je souhaite supprimer.

Parfois il y a plusieurs références sur un même emplacement (si deux ref a deux emplacements alors deux colonnes différentes avec le même emplacement B1&B2 avec l'emplacement A-1-0), et par rapport à ça je souhaite supprimer complétement la colonne ou alors juste effacer les données qui s’y trouve.

J’aimerai de l’aide pour le code vba qui me ferait :

Si la cellule au-dessus ou en dessous en colonne B est égal à la première donnée de ma sélection (la première donnée se trouvant en colonne B) alors tu me supprimes la ligne de la colonne B à K

Sinon tu m’effaces les données de la colonne C à J

J’ai essayé comme ça mais je n’y arrive pas je bloque

If Range(.Cells(ListeLignes(i), 3)) = Range(ListeLignes(i), 3, ActiveCell.Row - 1) Or Range(ListeLignes(i), 3, ActiveCell.Row + 1) Then .Range(.Cells(ListeLignes(i), 2), .Cells(ListeLignes(i), 11)).EntireRow.Delete

ElseIf Range(.Cells(ListeLignes(i), 3)) <> Range(.Cells(ListeLignes(i), 3, ActiveCell.Row - 1)) And Range(.Cells(ListeLignes(i), 3, ActiveCell.Row + 1)) Then .Range(.Cells(ListeLignes(i), 3), .Cells(ListeLignes(i), 10)).ClearContents

End If

Aidez-moi s’il vous plait

Salut,

Je peux voir ton fichier, s'il-te-plait ?

Amicalement.

Bien-sûr,

La macro sur laquelle je bloque s'appelle "RechercheemplacementOPTION" et pour contextualisé, dans l'onglet "Sortie de stock" je sélectionne la référence dans ma liste déroulante puis je clique sur la case "suppression de la référence" qui m'amène à l'emplacement de cette référence dans l'onglet "Infos Stock" pour la supprimer ou l'efface (point bloquant).

Ton fichier semble assez emberlificoté, si je l'avais vu auparavant, je ne me serais certainement pas lancé. C'est le genre de fichier où il faut tenter de comprendre plusieurs macros avant de pouvoir résoudre le problème indiqué.

De plus tu es très imprécis dans tes explications. Tu dis que tu sélectionnes la référence dans la liste déroulante. Il y en a une quantité !! De laquelle parles-tu ? Je n'ai pas été plus loin dans la recherche de ton problème dans l'attente de cette réponse. Regarde déjà si tu penses que le reste de ton explication est suffisamment claire pour une personne qui ne connait rien à ton fichier ou si tu peux expliquer mieux ton souci.

Amicalement.

Il me faudrait faire une nouvelle macro pour que ce soit plus simple.

J'ai dans mon onglet "Sortie de stock" choisis la référence que je souhaite supprimer de mon fichier "InfoStock".

Si je décide de supprimer cette référence de mon fichier "InfoStock" une de mes macros va m'amener sur le fichier "InfoStock" et me sélectionner la ligne correspondant à cette référence. Jusqu'ici j'y arrive, c'est à ce moment la ou je pêche.

J'aimerai créer une macro qui me vérifie si il y à plusieurs fois le même emplacement que ma recherche dans ma colonne B du fichier "InfoStock" et que si c'est le cas, qu'il me supprime entièrement la ligne qui correspond a ma recherche de B à L par exemple, sinon qu'il m'efface juste les données de C à J.

Je sais que c'est difficile à comprendre, merci pour ton aide.

Je t'ai fait la demande suivante :

De plus tu es très imprécis dans tes explications. Tu dis que tu sélectionnes la référence dans la liste déroulante. Il y en a une quantité !! De laquelle parles-tu ?

et tu me réponds :

J'ai dans mon onglet "Sortie de stock" choisis la référence que je souhaite supprimer de mon fichier "InfoStock".

Je ne sais toujours pas de quelle liste déroulante tu parles

Chaleureusement.

Dans l'onglet "Sortie de stock" en E5, je sélectionne la référence puis je clique sur "Lancement de la recherche" sur la droite en N5.

Cette référence s'affiche alors dans la colonne 10 du même onglet.

C'est ensuite quand je veux la supprimer que je souhaite de l'aide pour la macro en réalisant ce que j'ai décrit précédemment.

Désolé, j'ai complètement zappé que je te devais une réponse

Dans la cellule E5 de la feuille ''Sortie de stock'', il n'y a qu'une référence. Impossible de faire deux essais !

Après avoir choisi cette référence unique, je clique sur le bouton ''LANCEMENT DE LA RECHERCHE'', mais je ne vois pas où devrait s'afficher cette référence dans la colonne J (la colonne 10) de cette feuille : à quelle ligne devrait-elle apparaître ?

Si j'arrive à comprendre cela, il faudra encore que je comprenne comment du souhaite la supprimer.

Salutations.

Bonjour Yvouille,

J'ai rajouté des références. C'est bien ca quand tu cliques sur le bouton "Lancement de la recherche" la référence s'affiche dans la ligne 10, quand tu cliques ensuite sur "Suppression de la référence" la macro se lance et te renvoie sur la feuille "Infostock" pour une double vérification avant la suppression. Et c'est à ce moment la qu'au lieu que ma macro m'efface systématiquement ma sélection, qu'elle compare d'abord si il y a plusieurs références au même emplacement (colonne B si doublon supp) que si c'est le cas elle me supprime la ligne entière de la colonne B à L ou dans le cas contraire qu'elle m'efface le contenu de la colonne C à K.

Je vais t'en devoir une pour ton aide, merci encore

Salut,

Il y a plusieurs problèmes pour tenter de t'aider.

A) Il ne faut pas que tu attendes trop longtemps entre deux interventions, autrement je dois me replonger à fond dans ton problème au lieu de m'en souvenir un peu mieux.

B) Tu t'exprimes dans un français un peu tiré par les cheveux. Lorsque tu écris une phrase comme celle-ci-dessous, il faut s'accrocher pour comprendre : "Et c'est à ce moment la qu'au lieu que ma macro m'efface systématiquement ma sélection, qu'elle compare d'abord si il y a plusieurs références au même emplacement (…..) que si c'est le cas elle me supprime la ligne entière de la colonne B à L ou dans le cas contraire qu'elle m'efface le contenu de la colonne C à K".

Tu devrais te relire en te mettant dans la peau de celui qui va te lire et te demander si c'est bien compréhensible pour lui.

Un exemple de passage encore plus incompréhensible : "(colonne B si doublon supp)".

C) Tu utilises pas ou très peu les références Excel.

D) Ton fichier est quand même assez compliqué et il n'est pas évident de savoir ce qui t'est réellement nécessaire ou ce qui est superflu. Par exemple : sur la feuille ''Sortie de stock'', je choisis une référence en E5. Il faut d'abord cliquer sur un bouton afin que les données correspondantes d'affichent dans la ligne 10 au lieu qu'elles s'affichent automatiquement lors du changement de la cellule. Peut-être qu'il y a une raison là-derrière, peut-être est-ce juste parce que tu n'as pas pensé d'automatiser ce passage. Je clique ensuite sur le bouton ''Suppression de la référence'' (il n'y a pas d'accent sur le e) et une première fenêtre s'ouvre. Je confirme que la référence par défaut me convient et je tombe sur une deuxième fenêtre qui me propose de changer de référence !!!!!!! Pourquoi tant de complications ? Une nouvelle fenêtre s'ouvre encore et affiche les données correspondant à la référence choisie et affiche le nombre de références identiques trouvées en colonne B de la feuille ''Infos Stock'' (''Résultat 1 sur x dans la cellule $C$xxx'') et demande s'il faut supprimer cette référence ou non.

Je présume que c'est à cette étape que se situe ton problème. J'ai compris qu'à certaines conditions, tu voudrais n'effacer que les données des colonnes C à K de la ligne indiqué dans la référence indiquée ci-dessus (par exemple de la ligne 13 pour la référence $C$13) et sinon tu voudrais effacer les données des colonnes B à L de cette même ligne.

Si c'est bien cela, je n'ai pas compris à quelles conditions tu voudrais effacer une partie et à quelles conditions tu voudrais effacer l'autre partie.

Je te demande alors de bien vouloir simuler ces deux situations possibles sur la feuille ''Infos Stock'', de la même manière que j'ai simulé des données marquées en rouge sur les lignes 13 et 14 de cette feuille. Si les données simulées de ma part correspondent à l'une des deux situations possibles, laisse-les en place, autrement modifie-les. Marque par exemple en vert la deuxième simulations. Pour ces deux situations, indique le plus clairement possible les raisons de supprimer les données des colonnes C à K dans un cas et les données des colonnes B à L dans l'autre cas.

Amicalement.

Bonjour,

Effectivement mon fichier n'est pas optimisé, c'est la première fois que je réalise un fichier avec autant de macro et aussi poussé, cela dépasse clairement mes compétences par moment mais je note tes remarques et je vais améliorer mon fichier!

J'ai simulé comme tu m'as demandé les deux situations sur le fichier Excell que tu trouveras ci-joint.

En espérant avoir été suffisamment clair…

Cordialement.

Salut,

Evite de mettre des informations dans les fichiers Excel eux-mêmes, mais exclusivement sur ton fil. Ainsi, il est plus facile d'en consulter l'historique. Dans le cas contraire, on ne sait plus – au bout de quelques échanges – dans quel fichier se trouvaient quelles informations.

Ta macro actuelle passe en revue certaines lignes et j'avais compris que tu souhaitais en supprimer tout ou partie selon un contrôle visuel, avec des critères à chaque fois différents, selon je ne sais quelle base.

De tes nouvelles explications, j'ai l'impression que ces critères sont bien définis et il me semble qu'il serait possible de ''nettoyer'' ta feuille ''Infos Stock'' d'une manière automatisée, par exemple une macro qui passerait en revue toutes les lignes et qui supprimerait telles ou telles parties selon des critères prédéfinis.

Avant que je tente une solution ou l'autre, peux-tu me dire ce qu'il en est de ma présomption ci-dessus ?

Salut,

Evite de mettre des informations dans les fichiers Excel eux-mêmes, mais exclusivement sur ton fil. Ainsi, il est plus facile d'en consulter l'historique. Dans le cas contraire, on ne sait plus – au bout de quelques échanges – dans quel fichier se trouvaient quelles informations.

Ta macro actuelle passe en revue certaines lignes et j'avais compris que tu souhaitais en supprimer tout ou partie selon un contrôle visuel, avec des critères à chaque fois différents, selon je ne sais quelle base.

De tes nouvelles explications, j'ai l'impression que ces critères sont bien définis et il me semble qu'il serait possible de ''nettoyer'' ta feuille ''Infos Stock'' d'une manière automatisée, par exemple une macro qui passerait en revue toutes les lignes et qui supprimerait telles ou telles parties selon des critères prédéfinis.

Avant que je tente une solution ou l'autre, peux-tu me dire ce qu'il en est de ma présomption ci-dessus ?

Salut,

C'est ce que je recherche oui, avec comme critère qui ne changera pas car il est toujours renseigné, l'emplacement des références qui se trouve dans la colonne "B" de la feuille "Infos Stock".

Salut,

Inutile de reprendre l'entièreté de mon texte dans ton message, il est placé juste au-dessus.

Je n'ai absolument pas compris ce que tu souhaites, désolé. Ton explication n'est réellement pas claire.

Un autre problème personnel va me prendre du temps, je ne pourrai malheureusement pas continuer à t'aider sur ce fil. Indique le éventuellement comme ''Résolu'' et ouvres-en un autre en prenant la peine de bien expliquer ton problème dès le départ.

Sincèrement, je regrette de ne pas avoir pu résoudre ton problème. Je te souhaite de parvenir à tes fins.

Amicalement.

D'accord,

Je ne comprend pas ce que tu ne comprends pas, je pense avoir été suffisamment clair dans mes explications pourtant.

Merci pour ton temps et ton aide, bonne journée!

Salut Robin,

Je pense avoir plus souvent offert mon aide gratuitement que toi en avoir demandé. Je me permets donc de maintenir que ta demande n'est pas claire. Désolé.

D'ailleurs, si ta demande était si limpide, d'autres membres seraient venus apporter la solution que je n'arrive pas à te fournir.

Amicalement.

Rechercher des sujets similaires à "comparaison selectionne rapport dessus"