Conditions pour un doublons dans la meme cellule

Résolu/Fermé
wuhrlinanthony Messages postés 52 Date d'inscription mercredi 29 juillet 2015 Statut Membre Dernière intervention 5 juillet 2017 - 24 oct. 2016 à 03:49
wuhrlinanthony Messages postés 52 Date d'inscription mercredi 29 juillet 2015 Statut Membre Dernière intervention 5 juillet 2017 - 25 oct. 2016 à 05:30
Bonjour,

J'essaye de creer une condition qui me permettrait de connaitre quel cellule contient deux fois le même code. Mon code est 88.1SX8, il est parfois écrit deux fois dans la même cellule et comme j'ai 5000 lignes c'est un peu long a la main ^^.
Si une cellule contient deux fois le même code, alors la macro copie la ligne entière dans un nouvel onglet.
Si vous avez une idée du code que je peux ecrire je suis preneur.

Merci d'avance pour votre aide.

Anthony
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
24 oct. 2016 à 09:06
Bonjour
Il faudrait nous en dire plus sue le contenu des cellules

88.1SX18 88.1SX18
ou
88.1SX18blabla88.1SX18coucou
ou
88.1SX18 blabla 88.1SX18 coucou
ou
.....
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
24 oct. 2016 à 11:39
Bonjour,

Essaies ce code :
Option Explicit
Sub XXX()
Const str As String = "88.1SX8"
Dim src As Range
Dim dst As Range
Dim cel As Range
Dim adr As String
  ' Plage des données source
  Set src = Worksheets(1).UsedRange
  ' Destination des lignes copiées
  Set dst = Worksheets(2).Cells.SpecialCells(xlCellTypeLastCell)
  If Not (dst.Address = "$A$1" And dst.Formula = "") Then
    ' Première cellule de destination libre
    Set dst = dst.EntireRow.Cells(1, 1).Offset(1)
  End If
  ' Chercher la première cellule contenant la valeur (str)
  Set cel = src.Find(str, , xlValues, xlPart)
  If Not cel Is Nothing Then
    ' mémoriser l'adresse de la première cellule (pour sortie de boucle)
    adr = cel.Address
    Do
      ' Verifier la présence d'un doublon ...
      If InStr(2, cel.Value, str) > 0 Then
        ' ... si présent copier la ligne
        cel.EntireRow.Copy Destination:=dst
        ' cellule de destination suivante
        Set dst = dst.Offset(1)
      End If
      ' Chercher la cellule suivante contenant la valeur
      Set cel = src.Find(str, cel, xlValues, xlPart)
      If cel Is Nothing Then Exit Do
      If cel.Address = adr Then Exit Do
    Loop
  End If
End Sub 

0
wuhrlinanthony Messages postés 52 Date d'inscription mercredi 29 juillet 2015 Statut Membre Dernière intervention 5 juillet 2017
25 oct. 2016 à 05:30
Désolé pour la réponse tardive, je travaille a l'etranger donc decalage horaire.

michel_m les codes sont de cette forme là : 88.1SX8#####,88.1SX8####
Il n'y a pas d'espace entre les caractères.

Patrice33740, ton code fonctionne très bien.

Merci.

Anthony
0