Microsoft 365 Gestion des doublons

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à toutes et à toute :)
Me voilà avec une nouvelle opération à réaliser que je n'arrive pas à faire malgré mes recherches
et essais. Faut dire (enfin pour moi), que c'est certainement un codage ardu !
P'tit exposé de la situation :
Dans notre fichier de travail, quand nous appelons un nouveau prospect, nous créons une ligne d'appel.
Mais il arrive que nous ne nous apercevions pas que nous avons déjà appelé et déjà créé une ligne d'appel et que nous créions, par erreur une nouvelle ligne = doublon !
Le souci est que nous avons les commentaires des 1er appels dans la 1ère ligne créée et les commentaires des appels suivants dans la ligne doublon (ou dans les lignes doublons).
Pire encore, il peut y avoir des commentaires mélangés dans les 2 ou les 3 (voire 4) lignes doublons.

J'ai codé pour trouver les doublons et faire un classement pour trier n° par numéro comme dans le fichier test joint. J'en suis à ce niveau actuellement.

Ce que je voudrais pouvoir faire :
En vérifiant les doublons, dans mon fichier actuellement il y a 144 doublons avec des commentaires comme dans l'exemple du fichier test joint.... et tout remettre manuellement est long et fastidieux !

Partant du principe que les commentaires commencent tous avec une date comme ci-dessous :
"- 05/11/19 Consulte conjoint , Rap : OUI + OK RDV SPV"

Ce serait super bien que les commentaires des doublons soient rassemblés automatiquement par l'exécution d'un code (secret pour moi LOL) dans la 1ère ligne et que les commentaires de la ou des lignes en doublons soient effacés
fichier test joint :
- Feuille "doublons",
- Feuille "résultat attendu".
Si un magicien pouvait m'aider ?

Avec mes remerciements pour m'avoir lu en espérant être clair,
Je vous souhaite à toutes et à tous une bonne fin de journée,
Amicalement,
lionel,
 

Pièces jointes

  • Doublons_test.xlsm
    20.3 KB · Affichages: 27
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Dsl d'y revenir mais apparemment, soucis restés Lol
par exemple :
- 06/12/19 Injoignable (Rappel pour qq tentatives) , Rap : N'a pas dit - 06/12/19 Répondeur2 mr est en Irlande tél2 mme est en France et rentre le 12 33650173111 - 09/12/19 Faux n° - sonne pas (Rappel pour tentatives) , Rap : N'a pas dit - 06/12/19 Injoignable (Rappel pour qq tentatives) , Rap : N'a pas dit - 06/12/19 Répondeur2 mr est en Irlande tél2 mme est en France et rentre le 12 33650173111 - 09/12/19 Faux n° - sonne pas (Rappel pour tentatives) , Rap : N'a pas dit

C'est vraiment coton :)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Cette fois-ci, apparemment ça marche :) et c'est super !
Mais ... mais je suis vraiment désolé, un autre souci viens d'apparaître.

Donc, ça fonctionne quand il n'y a que 2 lignes en doublon mais pas quand il y en a 3 ou 4.
Exemple ligne 10/11/12 :
lignes en doublons
33111111113 - 08/01/20 Répondeur
33111111113 - 08/01/20 Répondeur
33111111113 - 08/01/20 Répondeur - 09/01/20 Agence(s) - Agents pas maintenant , Rap : N'a pas dit

Résultat obtenu 10/11/12 :
33111111113 - 08/01/20 Répondeur - 08/01/20 Répondeur
33111111113
33111111113
Manque le commentaire de la ligne 12
Il peut y avoir 2-3 ou 4 lignes en doublon.

Mais c'est déjà une superbe magique avancée :)
 

laurent950

XLDnaute Accro
je sais pas mais je pense que les signes en début de chaine de caractéres poses des soucis dans les recherches, comme :
" - est la chaine de caractéres etc. "
ou les parenthése avec regex ?
(Rappel pour qq tentatives)

Peux être demander l'avis a un expert du forum ?
il faut voir :

VB:
Sub testResultat()
'
' ajout de regex
    Dim reg As Object
        Set reg = CreateObject("VBScript.RegExp")
    Dim Matches As Object
'
Dim F1 As Worksheet
    Set F1 = Worksheets("à_Traiter")
Dim F2 As Worksheet
    Set F2 = Worksheets("Resultat")
Dim tab1() As Variant
    tab1 = F1.Range(F1.Cells(6, 1), F1.Cells(F1.Cells(65536, 1).End(xlUp).Row, 31))
ReDim Preserve tab1(LBound(tab1, 1) To UBound(tab1, 1), LBound(tab1, 2) To UBound(tab1, 2) + 1)
    For i = LBound(tab1, 1) To UBound(tab1, 1)
        For j = i + 1 To UBound(tab1, 1)
            If tab1(i, 7) = tab1(j, 7) Then
                tab1(j, UBound(tab1, 2)) = tab1(j, 7)
            End If
        Next j
    Next i
ReDim Preserve tab1(LBound(tab1, 1) To UBound(tab1, 1), LBound(tab1, 2) To UBound(tab1, 2) + 1)
    For i = LBound(tab1, 1) To UBound(tab1, 1)
    Debug.Print i
        If tab1(i, UBound(tab1, 2) - 1) = Empty Then
            For j = i To UBound(tab1, 1)
                If tab1(i, 7) = tab1(j, 7) Then
                    If tab1(i, UBound(tab1, 2)) = Empty Then
                        tab1(i, UBound(tab1, 2)) = tab1(i, UBound(tab1, 2)) & tab1(j, 31)
                        Debug.Print tab1(j, 31)
                    Else
                        ' Recherche si chaine déja présente !
                            reg.Pattern = tab1(j, 31)
                            Set Matches = reg.Execute(tab1(i, UBound(tab1, 2)))
                            ' Si Vrai = existe
                            ' si Faux = n'existe pas !
                            ' MsgBox reg.test(tab1(i, UBound(tab1, 2)))
                            If reg.test(tab1(i, UBound(tab1, 2))) = False Then
                                ' Comme faux cela copie le commentaire.
                                tab1(i, UBound(tab1, 2)) = tab1(i, UBound(tab1, 2)) & tab1(j, 31)
                                Debug.Print tab1(j, 31)
                            End If
                    End If
                End If
            Next j
        End If
    Next i

Dim tabtemp() As Variant
tabtemp = tab1
ReDim Preserve tabtemp(LBound(tab1, 1) To UBound(tab1, 1), LBound(tab1, 2) To UBound(tab1, 2) - 2)
For i = LBound(tab1, 1) To UBound(tab1, 1)
    tabtemp(i, UBound(tabtemp, 2)) = tab1(i, UBound(tab1, 2))
Next i
' Colle le resultat feuille resultat
F2.Cells(6, 1).Resize(UBound(tabtemp, 1), UBound(tabtemp, 2)) = tabtemp
F2.Activate
End Sub

le soucis avec cette ligne :
"- 06/12/19 Injoignable (Rappel pour qq tentatives) , Rap : N'a pas dit - 06/12/19 Répondeur2 mr est en Irlande tél2 mme est en France et rentre le 12 33650173111 - 09/12/19 Faux n° - sonne pas (Rappel pour tentatives) , Rap : N'a pas dit"

a voir les signes qui pose un soucis, je sais pas résoudre ?
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 203
Membres
103 157
dernier inscrit
youma