Extraction de donnée selon une comparaison de liste

Bonjour,

J'essaye de mettre en place un fichier de suivi au taff, mais je me rend compte que je vais avoir besoin d'une macro pour une mise à jour automatique de mes données.

Au taff, j'ai un logiciel qui gère la gestion des palettes, je peux en extraire une liste complète chaque jour avec les palettes déjà répertoriées et les nouvelles. Seulement, je ne sais pas distinguer les nouvelles des anciennes. Le logiciel me permet d'avoir les données en "copier" à moi de les coller dans un fichier excel.

J'ai donc fait un fichier excel avec deux onglets "Liste" et "BDD"

- L'onglet liste reprend l'ensemble des palettes qui ont déjà été ajouté (voir ci dessous).

180531015416232408

- Dans l'onglet BDD je viens coller l'ensemble des données que j'ai extrait du logiciel de gestion des palettes du travail.

Elles sont coller dans les colonnes E à M

18053101441047136

J'ai mis en place une formule (RECHERCHEV) qui me permet de comparer les ID palettes des nouvelles données de "BDD" avec les données de "Liste". La formule recherche si une valeur de la colonne G de BDD est présente dans la colonne G de Liste, si oui elle me retourne "ok" si non elle me retourne "New".

Je peux donc voir les nouvelles palettes ajoutées depuis.

Ma demande :

Je souhaiterais donc récupérer les informations des colonnes E à M de BDD pour lesquelles j'ai NEW dans la colonne A et venir les copier dans l'onglet liste de E à M à la suite des données déjà présent.

Genre je colle les données dans BDD et avec un bouton "Mise à jours" je peux extraire ces nouvelles données et les ajouter à la suite de l'onglet Liste.

Et en parallèle il faudrait que dans l'onglet Liste, les données ( de A à M) soit triées automatiquement dans l'ordre croissant des données de la colonne G. Pour que les nouvelles données ce place au bonne endroit et que la fonction RECHERCHEV puisse fonctionner lorsque je colle des nouvelles données.

Précision : Chaque jour les données de l'onglet BDD de E à M seront écrasées par des nouvelles données. Il faut vraiment que les nouvelles données soit extraites et ajoutées dans l'onglet liste.

Pourriez m'aidez à résoudre ce problème ?

Voici mon fichier :

15gestion.xlsx (160.27 Ko)

Merci d'avance

Bonjour,

Une procédure rapidement faite :

Sub AjoutNewPal()
    Dim aa, nn, nwP(), i%, n%, dln%
    With Worksheets("BDD")
        dln = .Range("E" & .Rows.Count).End(xlUp).Row
        aa = .Range("E2:M" & dln).Value
        nn = .Range("A2:A" & dln).Value
    End With
    For i = 1 To UBound(nn)
        If nn(i, 1) = "NEW" Then
            ReDim Preserve nwP(n)
            nwP(n) = WorksheetFunction.Index(aa, i, 0)
            n = n + 1
        End If
    Next i
    With Worksheets("Liste")
        dln = .Range("E" & .Rows.Count).End(xlUp).Row + 1
        .Range("E" & dln).Resize(n, 9).Value = WorksheetFunction.Transpose( _
         WorksheetFunction.Transpose(nwP))
        .Range("A1:M" & dln + n - 1).Sort key1:=.Range("G1"), order1:=xlAscending, _
         Header:=xlYes
    End With
    Worksheets("BDD").Range("E1").CurrentRegion.Offset(1).ClearContents
End Sub

Elle prélève dans BDD les nouvelles palettes pour les reporter dans Liste, trie Liste, et efface BDD (condition que la colonne C demeure vide pour ne pas effacer formules, si on ne veut pas effacer, supprimer ou invalider la dernière ligne de la macro).

NB- Ta formule de recherche peut être réduite de moitié en utilisant SIERREUR...

Cordialement.

Bonjour à tous

Bonjour MFerrand

Un essai à tester qui rend inutiles les formules que tu peux donc supprimer : tant qu'à faire une macro, autant qu'elle fasse tout.

Bye !

18gestion-v1.xlsm (164.55 Ko)

Salut gmb !

Je suis bien entendu d'accord avec ta "profession de foi" qu'il serait mieux que tout soit réalisé par macro...

Il faudrait à cette fin en savoir un peu plus sur l'alimentation de la BDD d'une part, le contenu des colonnes non servies d'autre part. Mais il est certain que notre ami peut réfléchir à l'automatisation de l'ensemble de son opération.

Cordialement.

Bonjour,

Encore une autre piste avec une copie du filtrage

J'ai conservé les formules mais je les ai modifiées (pas nécessaire de voir "NEW" ou "ok" si les cellules visées sont vides !), j'ai aussi mis des MFC pour les couleurs de la feuille "BDD" afin de ne pas avoir une coloration inutile, pour ce qui est de la feuille "liste", les couleurs et bordures sont rajoutées par code, adapter si les couleurs ne conviennent pas vraiment :

6gestion.xlsm (336.15 Ko)

Bonjour,

un Grand Merci pour votre retour aussi rapide Le fichier GestionV1 avec votre macro fonctionne parfaitement, et fait réellement ce que j'attendais.

Je viens de me rendre compte que j'allais avoir besoin d'une colonne supplémentaire en A de l'onglet Liste (je l'avais supprimer, pour le fichier test )

Mais du coup quand je l'ajoute ça décale les colonnes et la macro n'envoie plus les données ou il faut. Pouvez vous me dire ce que je dois modifier pour ça ?

Et j'ai une petite requête en plus, les deux boutons "extaire" et "RAZ" me plaise beaucoup (très pratique) serait-il possible d'en faire un dont le but est de coller les données que j'ai en cache (copier de l'autre application) ?

Ici en pratique je dois faire clique droit/coller, sur la case jaune (D1 de BDD) pour avoir les données là ou elle se trouve dans le fichier actuellement (il me copie une colonne vide, d'ou l'absence de donnée en colonne D). Serait-il donc possible de faire la même chose via un bouton ?

Merci d'avance

Jordan

j'allais avoir besoin d'une colonne supplémentaire en A de l'onglet Liste

Alors, joins ton nouveau fichier…

Pour le bouton supplémentaire, sans le fichier source je ne saurai pas lui faire exécuter ce que tu demandes..

Bye !

Voici le fichier (j'ai ajouté 2 colonnes, comme ça sur et certain qu'il ne bougera plus )

9gestion-v2.xlsm (172.99 Ko)

J'ai repris le fichier avec votre macro dedans.

Ah pour le bouton coller, le fichier source et un logiciel sur le pc du boulot, je ne sais malheureusement pas l'envoyer. Ne peut-t-on pas coder l'action de coller sur la case D1 de l'onglet BDD ? (Le logiciel d'ou je fais l'action de copier, envoi les données en cache comme si je les prenais d'un fichier excel)

Merci d'avance

Jordan

Bonjour

Nouvelle version.

Bye !

Merci beaucoup gmb

Ou puis je la télécharger ?

Merci d'avance

Jordan

Bonjour,

j'ai finalement réussi à mettre à jour la Macro avec mon décalage de colonne,

Un grand merci à gmb et MFerrand pour la macro qui va beaucoup m'aider

Cordialement

Jordan

Ou puis je la télécharger ?

Oups ! Elle n'a pas suivi…

Bye !

Rechercher des sujets similaires à "extraction donnee comparaison liste"