Résolu - Détecter lignes avec critère commun

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 !

chris6999

XLDnaute Impliqué
Bonjour le FORUM

J'ai besoin de votre aide pour une macro de détection de lignes en doublon mais avec une subtilité pour laquelle je ne trouve pas d'exemple sur les FORUMS.

Je m'explique:
J'ai un fichier que j'enrichis chaque mois.
Lors de cette mise à jour des données, je souhaiterais identifier les dossiers qui ont déjà fait l'objet d'une vérification préalable (la référence du dossier dans la colonne D est mon critère de recherche commun).
Si c'est le cas, c'est à dire lorsque le nombre de d'occurrence la valeur D est supérieure à 1 mettre les lignes concernées en couleur.

Plage définie : à partir de la ligne 7 pour chaque ligne où la colonne D est non vide

Plus compliqué et c'est là que j'ai un peu de mal :

Lorsqu'un dossier a déjà été vu par un vérificateur, ses initiales apparaissent dans la colonne T.
Mon souhait serait, toujours pour les lignes détectées en doublon, d'enrichir la colonne T lorsque celle-ci est vide des initiales déjà connues sur le même dossier .

Je ne sais pas si j'ai réussi à bien formuler ma problématique donc je mets un fichier test en PJ.

Merci d'avance pour votre aide
Et bonne journée à tous
 

Pièces jointes

Dernière édition:
Re : Détecter lignes avec critère commun

Bonjour.

Quelque chose comme ça :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim L As Long, Ld As Long
L = Target.Row
If Not IsEmpty(Me.Cells(L, "T").Value) Then Exit Sub
On Error Resume Next
Ld = WorksheetFunction.Match(Cells(L, "D").Value, Range(Me.[D7], Me.Cells(L - 1, "D")), 0)
If Err Then Exit Sub
Application.EnableEvents = False
Me.Cells(L, "T").Value = Me.[T6].Offset(Ld).Value
Application.EnableEvents = True
End Sub
 
Re : Détecter lignes avec critère commun

Bonjour Danreb et merci

Je n'arrive pas à lancer le code car je ne suis pas appelée à modifier la valeur des cellules (j'alimente mes nouvelles données par un copier coller) et du coup cela ne fonctionne pas avec une macro de type worksheet_Change(ByVal Target As Range).
Je voyais plutôt une macro qui balaierait la plage définie par les conditions.

Je vais essayer de trouver une solution
Merci encore et bon après midi
 
Re : Détecter lignes avec critère commun

Dans ce cas…
VB:
Sub ReproInitiales()
Dim TCrit(), TInit(), TDic(), TL() As Long, Itm, N As Long, L As Long, Initiales
With PlgUti(Feuil1.[A7])
   TCrit = .Columns("D").Value
   TInit = .Columns("T").Value: End With
TDic = DictionnArbo(TCrit).Items
For Each Itm In TDic
   Initiales = Empty
   For N = 1 To UBound(Itm)
      L = Itm(N)
      If IsEmpty(TInit(L, 1)) Then TInit(L, 1) = Initiales Else Initiales = TInit(L, 1)
      Next N, Itm
Feuil1.[T7].Resize(UBound(TInit)).Value = TInit
End Sub
 

Pièces jointes

- 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

Discussions similaires

Retour