Copier des informations sur plusieurs page sans doublons

Bonjour a toutes et à tous,

Je me permet de vous solliciter car je rencontre un problème pour lequel je n'arrive pas à trouver de solutions. Je vais essayer d'être le plus clair possible pour vous décrire mon besoin.

Actuellement j'ai un fichier sur lequel je charge un certain nombre de données sur la feuille "REEL". Ces données sont chargées 1 fois par mois en viennent écraser tout le tableau à chaque fois.

Ensuite, je viens en "FEUIL2" et je clique sur le bouton "supprimer doublon". Cette action permet de venir trouver les doublons dans la colonne "order" du tableau feuille "REEL" et d'additionner le prix. Ensuite, ça me supprime les doublons tout en me gardant le prix cumulé.

Ensuite l'objectif est de cliquer sur "dispatcher les données" pour dispatcher les donner de la feuille 'Feuil2" dans les différents tableau sur les autres onglet (le filtre étant la ligne) de la colonne A en fonction de la ligne. Jusque là le code fonctionne.

Le problème est que si je clique une nouvelle fois sur le bouton "dispatcher les données" les numéros d'ordres s'incrémente dans le tableau même s'il existe déjà.

Mon besoin serait que, si les numéros d'ordres existent déjà, il ne faut pas les incrémenter. On ne doit charger dans les tableaux que les ordres qui n'existent pas et qui correspondent à la ligne concernée.

Exemple : dans le tableau onglet "ligne 1" je ne voudrait pas avoir l'ordre 402051199 deux fois

Autre problème que je rencontre lorsque je colle les données sur le tableau de la feuille "REEL", la première colonne "Order" converti les nombre en texte ce qui me pose des problèmes par la suite. Y'aurai t-il un moyen de convertir directement les données de cette colonne en Nombres? J'ai mis un exemple avec l'ordre 401971460.

Je vous remercie d'avance pour le temps accordée à mon problème. Je me tiens disponible au cas ou vous auriez besoin d'informations plus précises.

Merci.

15test3.xlsm (115.97 Ko)

Bonjour,

Je me permet de relancer ce sujet, quelqu'un aurait-il une idée pour solutionner mon problème.

Je rappel, l'objectif est de ventiler des données sur plusieurs pages en fonction d'un critère (numéro de ligne) et de ne coller que les valeurs qui ne sont pas présentent sur les page en fonction du numéro d'ordre.

En vous remerciant d'avance.

Merci.

Bonjour,

Si tous vos tableaux sont des tableaux structurés, vérifiez si code fonctionne correctement. Il vous faudra néanmoins modifier votre tableau dans Feuil2 pour faire le lien avec vos autres tableaux.

Sub importer()

Dim I As Integer, J As Integer, K As Integer, L As Integer
Dim AireOrdres As Range, AireOnglets As Range, AireOT As Range

    Application.ScreenUpdating = False

    Set AireOrdres = Range("t_Feuil2[N°ordre]")
    Set AireOnglets = Range("t_Feuil2[Tables onglet]")

    For I = 1 To AireOrdres.Count
        For J = 1 To Sheets.Count
            With Sheets(J)

                 If .ListObjects.Count > 0 Then
                    For K = 1 To .ListObjects.Count
                        If .ListObjects(K).Name = AireOnglets(I) Then
                           Set AireOT = .ListObjects(K).ListColumns("OT").DataBodyRange
                           For L = 1 To AireOT.Count
                               If CStr(AireOT(L)) = CStr(AireOrdres(I)) Then
                                  Range(AireOrdres(I).Offset(0, -1), AireOrdres(I).Offset(0, 3)).Copy
                                  AireOT(L).Offset(0, -1).PasteSpecial Paste:=xlPasteValues
                               End If
                           Next L
                        End If
                    Next K
                 End If
            End With
        Next J
    Next I

    Application.ScreenUpdating = True

    MsgBox "Fin de mise à jour !", vbInformation

End Sub

Bonjour Eric,

Tous d'abord merci pour votre retour, cependant la solution apporté ne semble pas fonctionner. En faite lorsque j'ai des données dans mon tableau Feuil2, il ne se passe rien. Par contre si je clique sur le bouton "Effacer Option" alors là le code fonctionne.

Concernant la modification du tableau dans Feuil2 si j'ai bien compris j'ai juste à ajouter la colonne tables onglet avec les correspondances des nom des feuilles c'est ça ?

Merci.

C'est normal, le code met à jour les informations par rapport au numéro d'ordre. Si rien ne change dans Feuil2, il ne va rien se passer dans les onglets Ligne.

Bonjour,

J'ai ajouter des données et lorsque je clique sur le bouton "importer des données" rien ne se passe. Les valeurs ne sont pas incrémentées dans les différents tableaux. J'ai l'impression que rien n'est copié.

Trop fort Super merci beaucoup ça fonctionne beaucoup mieux et l’exécution est super rapide.

J'ai juste une question concernant la gestion des feuilles. En faite, je voulais ajouter des feuilles Exemple "Ligne 08" du coup j'ai mis "t_Ligne_08" mais ça ne fonctionne pas.

de plus j'ai d'autres pages qui "maint" ou "emb" et qui auront surement des données à importer.

Je voulais simplement comprendre comment ça fonctionne pour que je puisse intégrer les feuilles sans problème. J'ai fait un exemple avec la la ligne 8 (sur la première ligne) et j'ai ajouté une feuille Maint.

Merci encore.

t_Ligne_01, 02, .... correspondent au nom des tableaux structurés présents dans chaque onglet. Si vous souhaitez que cela fonctionne sur d'autres onglets, il vous faut aller dans l'onglet et transformer votre tableau en 1 tableau structuré et lui donner le nom associé. Pour créer un tableau : Menu Insertion / Tableau.

Super tous fonctionne très bien, encore un grand merci pour ce code.

Vous êtes au top merci.

Rechercher des sujets similaires à "copier informations page doublons"