Comparer des colonnes

  • Initiateur de la discussion Initiateur de la discussion saba
  • 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 !

S

saba

Guest
Bonjour,

Je souhaite comparer deux colonnes de noms et décaler les cellules dans ces deux colonnes pour que le résultat donne deux colonnes avec sur la même ligne soit le même nom soit une cellule vide en regard de la cellule nom si celui-ci n'existe que dans une colonne.
Je joins un fichier exemple avec dans l'onglet "avant" la liste brute et dans celui "après" le résultat souhaité.
Merci
 

Pièces jointes

Re : Comparer des colonnes

Bonjour saba
Essayez la procédure suivante :
Code:
[COLOR="DarkSlateGray"][B]Sub toto()
Dim oDat1, oDat2, sDat(), i&
Dim ocoll As New Collection, n&, d
[COLOR="SeaGreen"]'[/COLOR]
   With Sheets("Avant")
      oDat1 = .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).Value
      oDat2 = .Range(.Cells(1, 2), .Cells(Rows.Count, 2).End(xlUp)).Value
   End With
[COLOR="SeaGreen"]'[/COLOR]
   ReDim sDat(1 To 2, 1 To 1)
   sDat(1, 1) = oDat1(1, 1)
   sDat(2, 1) = oDat2(1, 1)
   On Error Resume Next
   For i = 2 To WorksheetFunction.Max(UBound(oDat1, 1), UBound(oDat2, 1))
      ocoll.Add oDat1(i, 1), CStr(oDat1(i, 1))
      ocoll.Add oDat2(i, 1), CStr(oDat2(i, 1))
   Next i
   On Error GoTo 0
   ReDim Preserve sDat(1 To 2, 1 To 1 + ocoll.Count)
   For n = 1 To ocoll.Count
      d = ocoll(n)
      For i = 2 To UBound(oDat1, 1)
         If oDat1(i, 1) = d Then sDat(1, 1 + n) = d: Exit For
      Next i
      For i = 2 To UBound(oDat2, 1)
         If oDat2(i, 1) = d Then sDat(2, 1 + n) = d: Exit For
      Next i
   Next n
[COLOR="SeaGreen"]'[/COLOR]
   With Sheets("Après")
      .Columns("A:B").ClearContents
      .Range("A1").Resize(UBound(sDat, 2), 2).Value = WorksheetFunction.Transpose(sDat)
      .Activate [COLOR="SeaGreen"]'Facultatif.[/COLOR]
   End With
[COLOR="SeaGreen"]'[/COLOR]
End Sub[/B][/COLOR]
ROGER2327
#3722


Vendredi 6 Gidouille 137 (Saint Dieu, retraité, SQ)
2 Messidor An CCXVIII
2010-W24-7T13:34:16Z
 
Re : Comparer des colonnes

Bonjour ROGER2327,

Excellent, ça fonctionne comme je le souhaite. Il ne me reste plus qu'à m'initier au langage VBA pour comprendre ces instructions que je ne me suis contenter que de recopier.
Avec tous mes remerciements
 
- 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
4
Affichages
265
Retour