eliminer les valeurs idantiques dans un tableau

  • Initiateur de la discussion Initiateur de la discussion C@thy
  • 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 !

C@thy

XLDnaute Barbatruc
Bonsoir le forum,

j'ai réussi à constituer un tableau, puis à en trier les éléments,
mais certains éléments y figurent plusieurs fois(parfois 4 ou 5).

Comment puis-je modifier mon code :

Code:
For i = 1 To UBound(Theme)
On Error GoTo fin
If Theme(i) = Theme(i - 1) Then
Theme(i - 1) = Theme(i)
ReDim Preserve Theme(UBound(Theme) - 1)
End If
Next
fin:

pour qu'il ne reste que des valeurs différentes?

Merci bôcou.

C@thy
 
Re : eliminer les valeurs idantiques dans un tableau

Bonsoir Cathy, bonsoir le forum,

Tu nous a mis le code pour trier mais c'est à l'alimentation du tableau qu'il faut éliminer les doublons... Ci-dessous la méthode tirée du site de JacqueS BOISGONTIER :
Code:
Private Sub UserForm_Initialize()
  Set MonDico = CreateObject("Scripting.Dictionary")
  For Each c In Range([b2], [B65000].End(xlUp))
    MonDico.Item(c.Value) = c.Value
  Next c 
  temp = MonDico.items
  '--
  Call tri(temp, LBound(temp), UBound(temp))
  Me.ComboBox1.List = temp
End Sub
 
Sub tri(a, gauc, droi) ' Quick sort
  ref = a((gauc + droi) \ 2)
  g = gauc: d = droi
  Do
    Do While a(g) < ref: g = g + 1: Loop
    Do While ref < a(d): d = d - 1: Loop
    If g <= d Then
      temp = a(g): a(g) = a(d): a(d) = temp
      g = g + 1: d = d - 1
    End If
  Loop While g <= d
  If g < droi Then Call tri(a, g, droi)
  If gauc < d Then Call tri(a, gauc, d)
End Sub
 
Re : eliminer les valeurs idantiques dans un tableau

Bonsoir BipBip Cathy, le forum
tes infos sont triés ou non?
autrement un petit coup de scriptingdictionnary
ou alors tu fais une autre boucle dans ta macro actuelle
a+
Papou 🙂

EDIT Bonsoir Robert🙂
 
Re : eliminer les valeurs idantiques dans un tableau

Je crois que j'ai mal posé la question, il suffirait que je crée au départ ma table sans doublons...

voici tout mon code
Code:
Public Sub Paragraf()
Dim para As Paragraph
Dim i As Integer, j As Integer
Dim y As Integer
Dim t As String
 
i = 0
For Each para In ActiveDocument.Paragraphs
       para.Range.Select
       If para.Style = "thème" Then
        ReDim Preserve Theme(i)
        Theme(i) = para.Range
        i = i + 1
    End If
Next para
'trier les thèmes
i = 0
Call tri(Theme, 0, UBound(Theme, 1))
'éliminer les doublons sur thèmes
For i = 1 To UBound(Theme)
On Error GoTo fin
If Theme(i) = Theme(i - 1) Then
Theme(i - 1) = Theme(i)
ReDim Preserve Theme(UBound(Theme) - 1)
End If
Next
fin:
MsgBox "fin"
End Sub
 
Sub tri(a, gauc, droi)
   ref = a((gauc + droi) \ 2)
   g = gauc: d = droi
   Do
     Do While a(g) < ref: g = g + 1: Loop
     Do While ref < a(d): d = d - 1: Loop
     If g <= d Then
       Temp = a(g): a(g) = a(d): a(d) = Temp
       g = g + 1: d = d - 1
     End If
   Loop While g <= d
   If g < droi Then Call tri(a, g, droi)
   If gauc < d Then Call tri(a, gauc, d)
End Sub

Merci encore pour votre aide si possible.

Bises

C@thy
 
Re : eliminer les valeurs idantiques dans un tableau

Bonsoir Robert, Paritec

Robert, je viens de te croiser sur un fil (comme les funambules!)
Lien supprimé
et j'ai beaucoup apprécié ta réponse!!!

Ce sont des paragraphe dans un texte Word, mais peu importe, Word n'est pas le sujet, mon sujet c'est juste de créer une table sans doublons.

J'ai plusieurs paragraphes qui ont le style Thème, mais hélas pour moi, le même thème (je thème..) se retrouve plusieurs fois dans le document, or je ne dois l'avoir qu'une seule fois.

Voilà, tu sais tout!😉

Paritec, mes infos ne sont pas forcément triées, mais disons que je les trie d'abord.

Ton scripting machin, il marche sous Word?

Bises

C@thy
 
Dernière édition:
Re : eliminer les valeurs idantiques dans un tableau

Bonsoir le fil, bonsoir le forum,

Cathy je crois que tu as zappé ma première réponse (Solution du site de Jacques BOISGONTIER)... Maintenant je suis incapable de te dire si on peut l'adapter à Word...
 
Re : eliminer les valeurs idantiques dans un tableau

Non Robert je n'ai pas zappé ta réponse c'est juste que je me suis aperçue en même temps que toi qu'il valait mieux créer la table sans doublons plutôt que les supprimer après
mais le code de Boisgontier ne marche pas chez moi
je ne gère pas des cellules mais des paragraphes
alors peut-être que finalement il faut que j'élimine les doublons après??
Merci en tout cas et bonne soirée
Biz
C@thy
 
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

Retour