Soustraire données communes à deux colonnes

  • Initiateur de la discussion Initiateur de la discussion festan
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

festan

Guest
Bonjour,
Je cherche à faire la chose suivante (ultra basique je suppose).
Je reçois chaque jour un listing de références produits sur une colonne.
Le jour suivant je reçois un lisitng différents n'ayant pas forcément la même focntion mais avec une colonne comprennant les mêmes données + quelques autres. Ce second fichier ne porte pas le même nom et n'a donc pas forcément la même fonction que le précédent. je ne suis pas sensé le modifier.

Par une manip simple, j'aimerai soustraire les données qui différent entre ces deux colonnes de références et ainsi avoir une lisibilité claire sur les nouvelles références ajoutées (ou soustraites).

+ clair: J'ai:
-une colonne A > intitulé un des docs mais autre sur autre doc (par ex prix)
-une colonne B > code barre pour les deux docs
Chaque jour je reçois l'un ou l'autre, à moi de savoir quels sont les nouveaux codes barres reçus. Je ne suis pas l' émetteur du fichier mais une brave bête préposée à la réception des produits.

Comment extraire en 2 secondes plutôt qu'en 3 heures les données distinctes?
Merci à vous de me répondre bons génies numériques
 
Dernière modification par un modérateur:
Re : Soustraire données communes à deux colonnes

Voilà deux fichiers jour 1, jour2
Je veux extraire les données non communes de la colonne A sachant que la chronologie n'est pas toujours possible à utiliser (parfois les dionnées sont descriptives, du genre à la place des numéros "objet chose ou produit bidule" donc il ne suffit pas de faire outils > tri et de prendre ce qui dépasse.)
 

Pièces jointes

Re : Soustraire données communes à deux colonnes

Re


Une apporche plus efficiente
(glanée sur lnet)

Prélable:
Les colonnes à comparer sont ici sur la même feuille
(et triées par ordre croissant) avant de lancer la macro test.

Code:
Public Sub compareColumns(columnA As String, columnB As String, _
                                     CellStart As Integer, CellStop As Integer)
'Auteur: Andrew Cushen
Dim i As Integer
For i = CellStart To CellStop
        If Range(columnA & i).Value <> Range(columnB & i).Value Then
            Range(columnB & i).Font.Bold = True
            Range(columnB & i).Font.Color = vbRed
        End If
    Next i
End Sub
Sub test()
compareColumns "A", "B", 1, 200
End Sub
PS: je n'ai pas trouvé à l'heure actuelle de questions/solutions (en VBA) similaires dans le forum
(mais j'ai pas du utiliser les bons mots-clés)

Autre piste par contre : (la plus simple quand on l'oublie pas)
source: https://www.excel-downloads.com/threads/recherche-dans-deux-colonnes-de-donnees-identiques.22185/
Pas besoin de macro pour cela. Utilise les possibilités du menu Edition\Atteindre après avoir sélectionné tes deux colonnes. Dans l'option Cellule tu pourras cocher Différences par lignes et il te restera de sélectionné uniquement les valeurs différentes que tu pourras mettre en gras, en couleur,...
 
Dernière édition:
Re : Soustraire données communes à deux colonnes

Merci beaucoup, je vais essayer la solution newbie (la dernière) et parler de la partie vba à un collègue plus classé en excel...
Encore merci à toi d'avoir consacré autant 😉 de temps à ce cas.
 
Re : Soustraire données communes à deux colonnes

Au vu de vos fichiers, je suppose que c’est le fichier le plus récent qui peut contenir des données nouvelles.

Vous pouvez obtenir facilement le résultat souhaité par une simple formule.

1) Ouvrir les 2 fichiers
2) Insérer une ligne en ligne 1 du fichier à étudier ( jour2.xls )
3) Tapez des noms de champs dans la 1ère ligne du fichier à étudier (jour2.xls), par exemple référence en A1, type en B1, valeur en C1 et Nouveau en D1 ( les noms n’ont aucune importance pourvu qu’ils soient uniques.)
4) Dans la cellule D2 du fichier à étudier tapez la formule suivante (sans espaces) :

=SI(ESTERREUR(EQUIV(A2;[jour1.xls]Feuil1!$A:$A;0));"nouveau";EQUIV(A2;[jour1.xls]Feuil1!$A:$A;0))

traduction : si la valeur contenue dans la cellule A2 n’existe pas dans la colonne A de la feuil1 du fichier jour1.xls, indiquer nouveau, sinon, donner le numéro de ligne de la référence située en A2.

Un conseil : pour obtenir quelque chose de cohérent par rapport à vos vrais fichiers, tapez =SI(ESTERREUR(EQUIV(A2;
puis allez cliquer sur l’en-tête de la colonne A du fichier jour1
recommencez la saisie à ;0)). Faites pareil pour le 2ème EQUIV

5) Tirer la formule sur toutes les lignes utilisées de Jour2.xls.
6) Placer-vous en A1, par exemple. Dans le menu DONNEES de Jour 2. xls, cliquer sur Filtrer, puis sur filtre automatique. Dans la liste déroulante de la colonne D, sélectionner Nouveau (se sera probablement le dernier élément de la liste.
7) Faites CTRL * pour sélectionner l’ensemble du tableau filtré. Faites CTRL C pour le copier, ou n’importe quelle autre méthode de copie. Allez sur une autre feuille , sélectionnez la cellule A1 et coller, par exemple par CTRL V

Cette méthode présente l’avantage de ne pas avoir à trier et de ne pas avoir à créer de macros. Cela peut sembler très compliqué , mais après l’avoir fait 2 ou 3 fois, il vous faudra moins de 5 minutes pour tout faire, et encore sans se presser.

Bon courage
 
Re : Soustraire données communes à deux colonnes

😱
euh je crois que je vais retourner bêcher mon champ de patates.
J'avoue que ça dépasse les capacités de mon cerveau décidement trop littéraire...
En tout cas merci de ta réponse documentée.
 
Re : Soustraire données communes à deux colonnes

J'ai essayé et apparemment ça ne marche pas.
Pour renouveler ma question, je voudrais une méthode me permettant de mettre en évidence les données non communes à plusieurs colonnes. Ces différentesColonnes proposent des données numériques ou non numériques en grand nombre. Il n'est donc pas envisageable de les classer par ordre croissant ou décroissant vu la qualité de leur valeur ( non numérique)
Je peux regrouper ces colonnes sur une même feuille pour simplifier la manip.
 
Re : Soustraire données communes à deux colonnes

en fait il s'agit d'extraire les données communes mais aussi de connaitre les spécificités de chaque colonnes.

Colonne A>> données numériques 1
colonnes B>> données numériques 2

colonnes C,D,E colonnes de destination de la macro.

Colonnes C>> données communes à Aet B
Colonne D >> données spécifiques à colonne A (ne se retrouvant pas en colonne B)
colonne E>> données spécifiques à colonne B ( ne se retrouvant pas en A)
Voilà je pense qu'ainsi le problème est mieux posé.

Merci encore de vous pencher sur ce petit problème.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
787
Retour