Trie data

Bonjour Excelleurs(es),

Problème du jour que je me casse la tête depuis une semaine. A partir d'un tableau qui me sert de repère sur des colonnes de différentes fichiers(dans chaque fichier je récupère dans une ou plusieurs feuilles les colonnes qui m'intéresse), je dois récupérer ces informations. Mais sur le fichier joints j'ai ajouté les informations dans les feuilles avec pour nom Ws**.

Ces données sont soigneusement copier et coller dans l'ordre d'origine, sur différentes feuilles d'un fichier xlsm.

Sur la feuille DataSub, il y a un tableau qui est lu par le code activer(), il permet de mettre les informations dans les colonnes dédiés.

Lors du trie je prends en compte sur les différentes feuilles le même affaire =>Le seul paramètre que je prends en compte la première information du tableau de la feuille DataSub.

Le soucis et le nombre d'itération trop. Je cherche un autre moyen d'être plus rapide. Et je ne sais pas si les fonctions créent fonctionnent comme je le veux!!!

Merci de me donnez vos avis,

où une méthode qui me permettrait d'améliorer le tri.

A vous lire,

Cordiales,

MEDAS

13trier-data.xlsm (0.97 Mo)

Re Excelleurs(es),

Alors après avoir laissé tourner quelques heures le code j'ai arrêté d'utiliser ses fonctions qui font trop de traitement pour rien.

Tout d'abord je copie les informations sur leurs feuilles correspondantes.

Ensuite je copie juste l'affaire, et je supprime les doublons.

Pour chaque affaire, dans la feuille 2017, je cherche où l'affaire se trouve dans le différentes feuilles et si la feuille se trouve l'affaire je copie les informations qui m'intéresse.

je vous tiens au courant,

a vous cordiales

medas

Bonjour Excelleurs(es)

Je viens de me rencontre que ma fonction Verif() tourne en boucle donc j'ai ajouté une instruction ecrire() à la fin de la fonction

Sub ecrire()
    Dim m As Integer
    m = ThisWorkbook.Sheets("DataSub").Cells(5, 32)
    If m = 9 Then
        ThisWorkbook.Sheets("DataSub").Cells(5, 32) = 3
        Exit Sub
    End If
    If m < 9 And m >= 3 Then
        m = m + 1
        ThisWorkbook.Sheets("DataSub").Cells(5, 32) = m
    End If
    refPos (Sheets(m).name)
End Sub

je test ...

A vous lire

Cordiales

Bonjour Excelleurs(es),

Comme le titre l'indique, je trie des données.

j'ai essayé de me projeter sur du long terme et donc ne pas modifier le code mais juste un tableau.

Deux tableaux sont importants:

Le premier tableau est de lister les colonnes qu'on souhaite récupérer pour chaque feuilles sur chaque fichier Excel.

Le deuxième tableau est de lister les feuilles par leur nom et de donnée la position de la colonne du premier tableau le

ref est l'indice et pos est la colonne.

Si vous alimentez ses tableaux, lors du clic du bouton activer le code ce lance.

A partir de différents fichiers Excel, je récupère les colonnes qui m'intéresse, tous les fichiers doit avoir une clef commun.

Je copie les feuilles des différentes fichier sur mon fichier principales.

Après études des différentes fichiers et feuilles, j'ai créée un tableau de repère. Ce tableau me permet de chercher les informations que je souhaite récupérer, dans les différentes feuilles de mon fichier principales.

J'ai essayé de m'inspirer du tableau pour écrire un code générale.

Ce qui fait que le fichier joints peut être réutilisé par n'importe qui.

Pour moi le code est opérationnel voir si on peux pas le modifier et l'optimiser possible; ça ne tiens qu'à vous de me faire une suggestion.

A vous lire,

Cordiales.

Sujet résolu : Medas.

5trie-data.xlsm (43.74 Ko)
Rechercher des sujets similaires à "trie data"