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

KyFranRD

XLDnaute Occasionnel
Bonjour .....

J'ai parcouru le forum mais je n'ai pas vraiment trouver réponse à mon problème; qui est le suivant:

J'ai créé une interface de saisie. Ces valeurs se retrouvent ensuite sur une feuille excel. Jusque là "no problem".
j'ai besoin de faire ressortir 2 de ces colonnes. Une en colonne B correspondant à des "défauts de lampe de signalement" et l'autre en I, des "commentaires", en appliquant ces codes.


Tout fonctionne impeccablement. Par contre, quelqu'un pourrait il me dire comment faire pour éviter les doublons dans les cellules de réception >>> Cells(i + 1, 16).FormulaR1C1 = "=conca(RC[-1])"

En effet dans la colonne B où se trouvent les défauts, il peut y avoir plusieurs fois le même et donc, je me retrouve en cellule de réception après conca avec par cellule plusieurs fois les mêmes agents concernés par ce défauts. J'ai également le même soucis pour les "UO concernées"

J’espère avoir été suffisamment clair.

Merci d'avance à toute personne me venant en aide
 

Pièces jointes

Dernière édition:
Re : Eviter les doublons

Bonjour,

Je ne suis pas sûr d'avoir bien compris mais regarde si ça correspond à ce que tu souhaite :
Code:
Function conca(titre As String)
    
    Application.Volatile
    
    For Each cel In Range("b2:b" & Range("b5000").End(xlUp).Row)
    
        If cel = titre And InStr(conca, Cells(cel.Row, "I")) = 0 Then
        
            conca = conca & Cells(cel.Row, "I") & " ; "
            
        End If
    
    Next
    
    conca = Left(conca, Len(conca) - 2)
    
End Function

Function conca2(titre As String)

    Application.Volatile

    For Each cel In Range("b2:b" & Range("b5000").End(xlUp).Row)
    
        If cel = titre And InStr(conca2, Cells(cel.Row, "H")) = 0 Then
        
            conca2 = conca2 & Cells(cel.Row, "H") & " ; "
        
        End If
    
    Next
    
    conca2 = Left(conca2, Len(conca2) - 2)
    
End Function

Hervé.
 
Re : Eviter les doublons

Bonjour et merci Hervé, ça fonctionne à merveille.

J'ai particulièrement aimé le "Je ne suis pas sûr d'avoir bien compris".

Qu'est-ce que ça doit être quand tu comprends parfaitement 😎

Encore merci et longue vie au forum
 
Re : Eviter les doublons

bonjour kyfranrd,le forum
bienvenue
comme suit

Code:
Function conca(titre As String)

  conca = titre & " "
  For Each cel In Range("b11:b" & Range("b5000").End(xlUp).Row)
  If cel = titre Then conca = conca & Cells(cel.Row, "I") & " ; "
  Next
  
  conca = Left(conca, Len(conca) - 2)
  
End Function
 
- 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

Réponses
11
Affichages
442
Retour