Reporter des cellules et éliminer les doublons

Bonjour

J'ai un petit problème sur une macro.

J'ai 2 excels :

  • Excel 1: "Rapport" : Celui-ci comprend plusieurs informations et notamment le nom du client, la date de rapport et le type de rapport
  • Excel 2: "Bibliothèque" : Celui-ci comprend les mêmes info que le premier excel

L'objectif de ma macro est simple : Je veux Copier / Coller les info de Rapport vers Bibliothèque (et non pas récupérer de Bibliothèque les info de Rapport). Jusque là tout se passe bien.

Mon problème est, que je ne veux pas, si je relance ma macro, que les info de Rapport se remettent une deuxième fois, de sorte que cela me créerait des doublons. Donc je veux juste que ma macro reconnaisse que si dans Bibliothèque le nom et la date du rapport existent déjà, et remplace la ligne par les nouvelles info de Rapport.

Pouvez-vous m'aider ?

Merci

Bonjour,

tu peux parcourir tout la feuille avant chaque insertion pour être sur que la ligne n'existe pas déjà.

Une boucle stoppant quand une ligne identique a été trouvée.

Si tu souhaites des explications plus claires, je suis à ta disposition.

Si tu souhaites une macro, je t'invite à joindre ton classeur puisque personne (sauf certain alien qui rode sur le forum ) n'est capable de le faire à l'aveugle.

Cordialement.

Merci beaucoup pour l'info,

effectivement j'aurai besoin d'un peu plus d'explication. En pièces-jointes je met un exemple TRES synthétique des deux excel (qu'il faudra ouvrir ensemble pour faire fonctionner la macro).

L'objectif étant que si je change le type de rapport, j'aimerai que ça efface la ligne dans bibliothèque et mette la nouvelle.

Merci

5bibliotheque.xlsm (18.45 Ko)
10schedule.xlsm (17.37 Ko)

Re,

ce n'est pas un code exemplaire mais je pense qu'il est à ta porté, normalement il devrait faire correctement le travail si tu l'adaptes comme il faut. Si tu as besoin d'explication n'hésites pas.

Set wbk1 = ThisWorkbook
    Set wbk2 = Workbooks.Open("D:\Users\T0227265\Desktop\Copie de Bibliotheque.xlsm")

    For i = 5 To wbk1.Sheets(1).Range("A65000").End(xlUp).Row
        res = False
        For j = 6 To wbk2.Sheets(1).Range("A65000").End(xlUp).Row
            If wbk1.Sheets(1).Cells(i, 1).Value = wbk2.Sheets(1).Cells(j, 1).Value And wbk1.Sheets(1).Cells(i, 2).Value = wbk2.Sheets(1).Cells(j, 2).Value And wbk1.Sheets(1).Cells(i, 3).Value = wbk2.Sheets(1).Cells(j, 3).Value Then
                res = True
                Exit For
            End If
        Next j

        If Not res Then
            wbk2.Sheets(1).Cells(wbk2.Sheets(1).Range("A65000").End(xlUp).Row + 1, 1) = wbk1.Sheets(1).Cells(i, 1).Value
            wbk2.Sheets(1).Cells(wbk2.Sheets(1).Range("A65000").End(xlUp).Row, 2) = wbk1.Sheets(1).Cells(i, 2).Value
            wbk2.Sheets(1).Cells(wbk2.Sheets(1).Range("A65000").End(xlUp).Row, 3) = wbk1.Sheets(1).Cells(i, 3).Value
            MsgBox wbk2.Sheets(1).Range("A65000").End(xlUp).Row
        End If
    Next i
    wbk2.Close True

Cordialement

Bonjour,

Merci beaucoup pour l'info,

Finalement j'ai un peux changé ma façon de faire, et au lieu de copier coller, j'ai juste sélectionné la ligne en doublon et l'ai supprimé via clearcontents.

Merci encore !

Rechercher des sujets similaires à "reporter eliminer doublons"