alignement de données identiques

bayard78

XLDnaute Nouveau
Bonjour à tous,

cela faisait un moment que je visitais ce forum (très très utile) mais aujourd'hui, je crois que je dois poser cette question.

j'ai 2 colonnes et je veux aligner les données identiques.

ex:

depuis

1 2
2 3
3 5
4 6

obtenir

1 (rien)
2 2
3 3
4 (rien)
(rien) 5
(rien) 6

J'ai trouver une solution sur ce forum qui propose un macro dans un fichier zip. mais: le fichier zip ne marche pas et je ne maitrise pas du tout les macros.

Si vous me proposer une soluce "macros" merci de me preciser comment l'utiliser (ou de bien vouloi rme fournir un lien expliquant comment utiliser un macro).

merci d'avance
 

bayard78

XLDnaute Nouveau
Re : alignement de données identiques

Bonjour à tous,

cela faisait un moment que je visitais ce forum (très très utile) mais aujourd'hui, je crois que je dois poser cette question.

j'ai 2 colonnes et je veux aligner les données identiques.

ex:

depuis

1 2
2 3
3 5
4 6

obtenir

1 (rien)
2 2
3 3
4 (rien)
(rien) 5
(rien) 6

J'ai trouver une solution sur ce forum qui propose un macro dans un fichier zip. mais: le fichier zip ne marche pas et je ne maitrise pas du tout les macros.

Si vous me proposer une soluce "macros" merci de me preciser comment l'utiliser (ou de bien vouloi rme fournir un lien expliquant comment utiliser un macro).

merci d'avance

vraiment personne?
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : alignement de données identiques

Bonjour Bayard, bonjour le forum,

En pièce jointe un fichier exemple avec une macro. Je t'ai fait un bouton pour lancer la macro mais si tu recopies le code dans ton fichier tu peux utiliser le raccourci clavier [ALT]+[F8] puis choisir la macro dans la liste...

le code :
Code:
Sub Macro1()
Dim cel As Range 'décalre la variable cel (CELlule)
Dim plo As Range 'déclare la variable pl (PLage Origine)
Dim plc As Range 'déclare la variable pl c (PLage Cible)
Dim r As Range 'déclare la variable r (Recherche)
Set plo = Range("A1:A" & Range("A65536").End(xlUp).Row) 'définit la plage plo
Set plc = Range("B1:B" & Range("B65536").End(xlUp).Row) 'définit la plage plc
For Each cel In plo 'boucle sur toutesles cellules éditées cel de la plage plo
    Set r = plc.Find(cel, , xlValues, xlWhole) 'définit la variable r (recherche la valeur de la cellule dans la plage cible)
    If Not r Is Nothing Then 'condition : si il existe au moins une occurrence de r dans la plage cible
        cel.Offset(0, 1).Insert Shift:=xlDown 'insère un cellule vide dans la cellule adjacente à cel
        r.Cut cel.Offset(0, 1) 'coupe et colle l'occurence trouvée
    End If 'fin de la connexion
Next cel 'prochaine cellule de la boucle
End Sub
 

Pièces jointes

  • Bayard_v01.xls
    29 KB · Affichages: 272

DWR

XLDnaute Nouveau
Re : alignement de données identiques

Bonjour à tous,

Je me permet de faire remonter ce sujet dans ce fabuleux forum car je me trouve dans à peu près la même situation que Bayard.

Le code VBA marche très bien, seulement mon problème n'est pas exactement le même:
j'ai 5 colonnes et je veux aligner les données identiques qui se trouvent dans les deux premieres colonnes.
Le code VBA ci-dessus ne déplace que les données de la deuxième colonne. Je souhaite "attacher" les cases des colonnes B, C et D à la cellule déplacée de manière à ce que les données de ces cellules restent à coté de la cellule comparée.

ex:

depuis

1 2 a b c
2 3 x y z
3 5 d e f
4 6 u v w
5
6

obtenir

1 (rien)
2 2 a b c
3 3 x y z
4 (rien)
5 5 d e f
6 6 u v w

Je ne sais pas si je suis vraiment clair :)

En tout cas merci d'avance!!
 

Discussions similaires

Réponses
5
Affichages
195

Statistiques des forums

Discussions
312 572
Messages
2 089 819
Membres
104 284
dernier inscrit
Yohan90