Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Supprimmer valeurs identiques d'une même cellule

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 !

Le double cheese

XLDnaute Occasionnel
Bonjour à tous,

Voici mon problème:

J'ai dans une cellule les valeures suivante:

a+b+a+c+c+a (les "+" sont au format texte, ils ne servent pas à aditionner)

Et je voudrait seulement a+b+c, c'est à dire qu'il n'y ait plus de valeurs en double.


Comment faire? Merci,
 
Re : Supprimmer valeurs identiques d'une même cellule

Petite précision, les valeur a+b+a+c+c+a sont trouvé à l'aide de cette macro:
(peut-être faudrait-il rajouter un "if (resultat1=résultat2; alors resultat1;"") {Eh non je ne sait pas faire de scripte😀}

Function RechTous(v, champRech As Range, ChampRetour As Range)
a = champRech
temp = ""
For i = 1 To champRech.Count
If a(i, 1) = v Then
temp = temp & ChampRetour(i) & "+"
End If
Next i
RechTous = Left(temp, Len(temp) - 1)
End Function
 
Re : Supprimmer valeurs identiques d'une même cellule

Bonjour,

Avec cette fonction VBA :

Code:
Function SANSDOUBLON(t As String, sep As String) As String
Dim s, d As Object, i As Integer
s = Split(t, sep)
Set d = CreateObject("Scripting.Dictionary")
For i = 0 To UBound(s)
  d(s(i)) = s(i)
Next
SANSDOUBLON = Join(d.keys, sep)
End Function
Elle est utilisée en B2 de la feuille de calcul :

Code:
=SANSDOUBLON(A2;"+")
Fichier joint.

A+
 

Pièces jointes

Re : Supprimmer valeurs identiques d'une même cellule

Re,

Au vu de votre macro du post #2 il paraît plus logique d'éviter les doublons à la source :

Code:
Function RechTous$(v, champRech As Range, ChampRetour As Range)
Dim a, d As Object, i&, v1
a = champRech
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To champRech.Count
If a(i, 1) = v Then
  v1 = ChampRetour(i)
  If Not d.exists(v1) Then
    d(v1) = v1
    RechTous = RechTous & v1 & "+"
  End If
End If
Next
If d.Count Then RechTous = Left(RechTous, Len(RechTous) - 1)
End Function
J'ai supprimé la variable temp qui était inutile.

A+
 
Re : Supprimmer valeurs identiques d'une même cellule

Re,

C'est encore mieux de l'avoir en un seul macro cela m'évite de faire une colonne en plus.

Cependant, j'ai essayé le code mais il me dit qu'il y a une erreur #NOM?,
je croit qu'il ne reconnait pas la fonction =rechtous()
 
Dernière édition:
Re : Supprimmer valeurs identiques d'une même cellule

Ah mince Désolé, je n'ai pas mis le code au bon endroit.
Je vient de le mettre dans un module et cela fonctionne parfaitement.

Encore merci pour votre aide,
 
Dernière édition:
- 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
4
Affichages
280
  • Question Question
Réponses
28
Affichages
509
Réponses
7
Affichages
299
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…