Procédure de comparaison des données de deux colon

Fermé
TYGOAL - 5 avril 2018 à 11:09
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 5 avril 2018 à 11:49
Bonjour,

Méthode 1 : Utilisation d'une formule de feuille de calcul
Pour utiliser une formule de feuille de calcul pour comparer les données de deux colonnes, procédez comme suit :

Démarrez Excel.
Dans une nouvelle feuille de calcul, entrez les données suivantes (laissez la colonne B vide) :


A1: 1 B1: C1: 3
A2: 2 B2: C2: 5
A3: 3 B3: C3: 8
A4: 4 B4: C4: 2
A5: 5 B5: C5: 0


Tapez la formule suivante dans la cellule B1 :
=IF(ISERROR(MATCH(A1,$C$1:$C$5,0)),"",A1)
Sélectionnez les cellules B1:B5.
Dans Microsoft Office Excel 2003 et dans les versions antérieures d'Excel, pointez sur Remplissage dans le menu Édition, puis cliquez sur En bas.

Dans Microsoft Office Excel 2007 et Excel 2010, cliquez sur Remplissage dans le groupe Édition, puis cliquez sur En bas.

Les nombres en double sont affichés dans la colonne B, comme dans l'exemple suivant :


A1: 1 B1: C1: 3
A2: 2 B2: 2 C2: 5
A3: 3 B3: 3 C3: 8
A4: 4 B4: C4: 2
A5: 5 B5: 5 C5: 0


Méthode 2 : Utilisation d'une macro Visual Basic
Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite. Ceci inclut, de manière non limitative, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous connaissiez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière. Toutefois, ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques. Pour utiliser une macro Visual Basic afin de comparer les données de deux colonnes, procédez comme dans l'exemple suivant :

Démarrez Excel.
Appuyez sur Alt+F11 pour démarrer Visual Basic Editor.
Dans le menu Insertion, cliquez sur Module.
Entrez le code suivant dans une feuille de module :

Sub Find_Matches()
Dim CompareRange As Variant, x As Variant, y As Variant
' Set CompareRange equal to the range to which you will
' compare the selection.
Set CompareRange = Range("C1:C5")
' NOTE: If the compare range is located on another workbook
' or worksheet, use the following syntax.
' Set CompareRange = Workbooks("Book2"). _
' Worksheets("Sheet2").Range("C1:C5")
'
' Loop through each cell in the selection and compare it to
' each cell in CompareRange.
For Each x In Selection
For Each y In CompareRange
If x = y Then x.Offset(0, 1) = x
Next y
Next x
End Sub

Appuyez sur Alt+F11 pour revenir dans Excel.
Entrez les données suivantes (laissez la colonne B vide) :


A1: 1 B1: C1: 3
A2: 2 B2: C2: 5
A3: 3 B3: C3: 8
A4: 4 B4: C4: 2
A5: 5 B5: C5: 0


Sélectionnez la plage A1:A5.
Dans Excel 2003 et dans les versions antérieures d'Excel, pointez sur Macro dans le menu Outils, puis cliquez sur Macros.

Dans Excel 2007 et Excel 2010, cliquez sur l'onglet Développeur, puis sur Macros dans le groupe Code.
Cliquez sur Find_Matches, puis sur Exécuter.

Les nombres en double sont affichés dans la colonne B. Les nombres correspondants seront affichés en regard de la première colonne, comme illustré ici :
A voir également:

1 réponse

Pinzou76 Messages postés 614 Date d'inscription dimanche 17 septembre 2017 Statut Membre Dernière intervention 25 février 2019 191
5 avril 2018 à 11:11
Bonjour, quelle est votre question ??
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 421
5 avril 2018 à 11:21
Bonjour
je me le demande aussi!!
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
Modifié le 5 avril 2018 à 11:51
Bonjour,
d'autant plus que la macro est une absurdité :-D

A moins que Tygoal voulait nous montrer son savoir... :-/
0