Doublons plusieurs tableaux sur une feuille

Bonjour,

J'en appelle à votre aide car je n'arrive pas à créer une macro dans le but de colorer le texte des cellules qui ont les mêmes textes.

Il peut y en avoir en double, en triple...

Il faut que ça sélectionne les différents tableaux (il peut y en avoir beaucoup plus que 2) et que les doublons dans la colonne C "Nom de contact" aient le texte mis en vert sans impacter les lignes premières lignes de chaque tableau.

Merci par avance pour votre aide :)

8test-excel-pc.xlsm (23.58 Ko)

Bonjour

Vous pouvez essayer avec ce code

Sub CONFIG_LIST_Doublons()
Dim tablo As Collection
Dim plage As Range, c As Range

Set tablo = New Collection
Set plage = Range("C9:C" & Range("C" & Rows.Count).End(xlUp).Row)
plage.Interior.ColorIndex = xlNone
For Each c In plage
    On Error GoTo gestionerreur
    tablo.Add c.Value, CStr(c.Value)
Next c
Exit Sub

gestionerreur:
c.Interior.ColorIndex = 6 'couleur jaune
Resume Next
End Sub

si ok, n'oubliez pas -->

Cordialement

Bonjour à tous

De façon générale il serait bien d'utiliser des tableaux structurés (qui existent depuis 20 ans dans Excel)

De façon particulière cela te permet de régler le problème via PowerQuery et une MFC en ne codant que l’actualisation de la requêtes en cas de saisie ou modification d'un nom de contact.

J'ai refait tes MFC dont les plages d'application avaient 1 million de lignes et souvent toues les colonnes (rien de mieux pour faire ramer Excel...)
sauf 1 dont je connais pas la véritable portée...

Merci Dan,

Cependant, ça ne sélectionne pas les tableaux indépendamment afin de chercher les doublons dans chaque tableau de manière individuelle :(

Pour trier, le code est celui-ci :

Sub CONFIG_LIST_Trier_Noms()
With Sheets("AXG_Configlist").Columns("A") 'colonne A de cette feuille
Set C = .Find("Postes", lookat:=xlWhole) 'rechercher une cellule avec "Postes"
If Not C Is Nothing Then 'trouvé
fa = C.Address 'adresse de la premièe cellule trouvée
Do 'boucle
Set c1 = C.CurrentRegion 'la plage autour
With C.Resize(c1.Rows.Count + c1.Row - C.Row, 8) 'la plage du "tableau"
.Sort .Range("C1"), Header:=xlYes 'trier tableau par nom
End With
Set C = .FindNext(C) 'rechercher prochaine cellule "postes"
b = Not C Is Nothing 'trouvé
If b Then b = (C.Address <> fa) 'ce n'est pas la première
Loop While b
End If
End With
End Sub

Il me faudrait la même chose mais au lieu du tri, il faudrait la couleur sur les doublons (1ère et seconde valeurs en doublons colorées).

Merci :)

Edit Modo : mis code entre balises

RE

De rien !!!

Merci Dan,

Cependant, ça ne sélectionne pas les tableaux indépendamment afin de chercher les doublons dans chaque tableau de manière individuelle :(

Si c'est tableau par tableau alors une simple MFC suffit et mieux encore une validation pour empêcher la double saisie...

re

Merci d'utiliser les balises de codes en cliquant sur l'icone disponible dans le menu et en collant le code dans la fenêtre. Il sera plus facile à lire.


1. Vous mentionnez tous les sites en C4, C5..... ?
2. Les doublons sont donc à faire par site ?

Edit : la solution de Chris via une MFC est plus simple à faire et, avantage, .... vous évitez le VBA

Merci Chris mais est-il possible de faire la même chose que mon code de tri mais pour colorer les doublons ?

Je sors de fichiers de ce type par extraction d'un logiciel plusieurs fois par jours ou par semaines et je cherche à tout automatiser d'où ma recherche en VBA ;)

DAN,

Mes sites peuvent se retrouver à différentes lignes, en fonction du nombre de postes.

Dans mon exemple, c'est sur la ligne 7 et un autre sur la ligne 34 mais il peut y en avoir plus d'où la recherche par Nom de contact ou de poste qui apparaissent de manière systématique.

Ensuite, il faut sélectionner les cellules de la colonne C (Nom de contact) puis faire ressortir les doublons (1ère et 2ème valeur voir plus) en écriture verte.

C'est pour ça que je galère :D

RE

Il faudrait détailler le process complet :

Tu extrais quoi comme fichiers (quel format de sortie) et tu les traites comment ?

Là il y a manifestement un assemblage et de la mise en forme (notamment des fusions qui avaient bien mis le souk dans tes MFC...)

Il y a fort à parier qu'on peut automatiser cela par PowerQuery plus une MFC pilotée par VBA...

re

Mes sites peuvent se retrouver à différentes lignes, en fonction du nombre de postes.
Dans mon exemple, c'est sur la ligne 7 et un autre sur la ligne 34 mais il peut y en avoir plus d'où la recherche par Nom de contact ou de poste qui apparaissent de manière systématique

cela je l'avais compris

Mais mais vous ne répondez pas aux questions posées. Surtout la question 1
Question 2 c'est ok. Vous l'avez mentionné dans un post précédent

edit : si votre souci est de juste repérer les doublons dans chaque tableau, faites une MFC par tableau, c'est le plus simple.

Je fais des extract en xlsx.

Voici un fichier sans MFC et sans VBA, une extract vierge de toute modification.

6test-pc.xlsx (12.68 Ko)

Hum.... déjà le structure de vos tableaux n'est plus la même que votre premier fichier

Votre fichier pour exemple avec une MFC. Doublons mentionné en vert

7test-pc.xlsx (13.85 Ko)

NB : A votre place j'aurais plutôt fait un seul tableau en mettant la référence du site en colonne A par exemple. En gros une base de données complète. Après les tri sont plus simples et les MFC aussi

Je vais donc rester sur les MFC.
Merci pour votre aide :)

RE

Je fais des extract en xlsx.

Voici un fichier sans MFC et sans VBA, une extract vierge de toute modification.

La mise en page est directement comme cela ?

Les "tableaux" sont les uns sous le autres ?

Il y a toujours le mot Site qui introduit chaque tableau ?

Rechercher des sujets similaires à "doublons tableaux feuille"