Copier doublons sans les effacer

joan1211

XLDnaute Nouveau
Bonjour à tous :)

J'ai ce genre de tableau:

Capture d’écran 2020-03-10 à 20.30.34.png


Je souhaiterai trouver une formule pour que les doublons soient copiés ET collés SANS être effacés. (comme dans l'image ci-dessus)

Je trouvé la mise en forme conditionnelle pour trouver les doublons, et d'autres formules pour les repérer, mais je ne connais aucune formule capable de déplacer les doublons sans les effacer.

Quelqu'un aurait-il une solution pour cela?

Merci! ;)
 

Pièces jointes

  • Doublons.xlsx
    9 KB · Affichages: 15

riton00

XLDnaute Impliqué
Bonjour,
Je souhaiterai trouver une formule pour que les doublons soient copiés ET collés SANS être effacés. (comme dans l'image ci-dessus)

Dans ton exemple tu n'as aucun doublons dans ta colonne C alors que faut-il en déduire, qu'il faut copier les doublons de C et les placer dans la colonne F ou alors couper les doublons de C et les placer dans la colonne F

Slts
 

joan1211

XLDnaute Nouveau
Bonsoir Riton.
dans la colonne C j'ai trois doublons. Etienne, Blanc et 39.
le but étant de les copier et coller dans la Colonne F.
Dans le document fourni, je les ai deja copié manuellement pour montrer le resultat attendu.


Bonsoir
galougalou,

pour le moment je suis sur mon ipad, donc pas de VBA disponible. Je regarderai demain.
aurais-tu une formule sans VBA ?

Excellente soirée!
 

mdo100

XLDnaute Occasionnel
Bonjour à toutes et tous,

@joan1211,

A tester dans le fichier joint:
En "F3":
VB:
=SIERREUR(INDEX(ColC;EQUIV(0;NB.SI(F$2:F2;ColC)+SI(NB.SI(ColC;ColC)>1; 0;1);0));"")
Formule matricielle à valider avec les touches ctrl + maj + entrée
Puis tirer vers le bas autant que nécessaire.

Cordialement.
 

Pièces jointes

  • Doublons joan1211.xlsx
    10.3 KB · Affichages: 7

job75

XLDnaute Barbatruc
Bonjour à tous,

Formule matricielle en F3, à valider par Ctrl+Maj+Entrée :
VB:
=SIERREUR(INDEX(C:C;PETITE.VALEUR(SI((NB.SI(C$4:C$28;C$4:C$28)>1)*NON(NB.SI(F$2:F2;C$4:C$28));LIGNE(C$4:C$28));1));"")
A+
 

Pièces jointes

  • Doublons(1).xlsx
    10.6 KB · Affichages: 6

jmfmarques

XLDnaute Accro
Bonjour Joan1211
le VBA ne fonctionne pas sur mon mac, je ne sais pas pourquoi, j'ai un message d'erreur.
Très probablement parce que le code qui t'a été proposé utilise un objet Dictionnary, qui dépend de VBS - dont est doté Windows ... (et encore : s'il n'a pas été délibérément inhibé sur la machine d'exécution pour des raisons de sécurité) - et qui est donc inconnu de Mac.
 

job75

XLDnaute Barbatruc
Bonjour à tous,

Oui les Dictionary n'existent pas sur MAC, il faut les remplacer par des collections (moins rapides) :
VB:
Sub Doublons()
Dim col1 As Collection, col2 As Collection, c As Range, n&, a(), i&
Set col1 = New Collection
Set col2 = New Collection
On Error Resume Next
With Feuil1 'CodeName de la feuille, à adapter
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    For Each c In .Range("C2", .Range("C" & .Rows.Count).End(xlUp))
        If c <> "" Then
            Err = 0
            col1.Add c, CStr(c)
            If Err Then col2.Add c, CStr(c)
        End If
    Next c
    n = col2.Count
    If n Then ReDim a(1 To n, 1 To 1)
    For i = 1 To n
        a(i, 1) = col2(i)
    Next i
    '---restitution---
    With .[F3] '1ère cellule de restitution, à adapter
        If n Then .Resize(n) = a
        .Offset(n).Resize(.Parent.Rows.Count - n - .Row + 1).ClearContents 'RAZ en dessous
    End With
End With
End Sub
A+
 

Pièces jointes

  • Doublons VBA(1).xlsm
    19 KB · Affichages: 4

Discussions similaires

Réponses
17
Affichages
1 K

Statistiques des forums

Discussions
312 194
Messages
2 086 066
Membres
103 110
dernier inscrit
Privé