[RESOLU] Recopier dans un tableau suivant critaire de tries

LORDDD

XLDnaute Occasionnel
Bonjour à vous tous,

Je tente d'effectuer mise en forme d'une liste de donnée vers un tableau.

Dans l'idée :

La base de donnée est sous forme de liste

3 critaires pour remplir le tableau
1 la date
2 code REV
3 Code Pur

Voici le code que j'ai commencé à écrire

Code:
Sub Copy()
Dim cel1 As String
Dim cel2 As String
Dim cel3 As String
Dim i As Integer
Dim ii As Integer
Dim iii As Integer
Dim iiii As Integer
Dim iiiii As Integer
Dim Date1 As String
Dim Date2 As String
Dim Rev1 As String
Dim Rev2 As String
Dim Pur1 As String
Dim Pur2 As String
Dim Som As Single

For i = 0 To 731 'compteur date tableau cbres par ligne
Date2 = Worksheets("CBRES").Cells(ii + 4, 1) 'ligne variable 1ere clonne
        For ii = 0 To 731 'compteur date tableau Base par ligne
        Date1 = Worksheets("Base").Cells(ii + 4, 22) 'ligne variable 1ere clonne
        Rev1 = Worksheets("Base").Cells(ii + 4, 23) 'ligne variable 1ere clonne
        Pur1 = Worksheets("Base").Cells(ii + 4, 24) 'ligne variable 1ere clonne        
        If Date1 = Date2 Then 'Controle la date
        
            For iii = 0 To 127 'compteur Rev tableau cbre par collone
            Rev2 = Worksheets("cbres").Cells(2, iii + 2) 'ligne 2 colonne variable
            
            If Rev1 = Rev2 Then 'controle du Rev
        
                For iiii = 0 To 127 'compteur Pur tableau cbre par collone
                Pur2 = Worksheets("cbres").Cells(3, iiii + 2) 'ligne 3 colonne variable
                
                If Pur1 = Pur2 Then 'controle du pur
           
                Som = Worksheets("Base").Cells(ii + 4, 25) 'ligne variable 1ere clonne
                End If
                Next iiii
    Worksheets("cbres").Cells(ii + 4, iiii + 2) = Som        
    
            End If
            Next iii      
      End If
      Next ii      
      
Next i   
End Sub

Mais cela ne donne rien de bon, si quelqu'un passe par la, j'accepte votre aide.
Un grand merci pour votre savoir et aide.
Dossier excel joint
 

Pièces jointes

  • Extracteur v1.zip
    224.7 KB · Affichages: 39
Dernière édition:

LORDDD

XLDnaute Occasionnel
Re : Recopier dans un tableau suivant critaire de tries

Speel,


Moi mes invites viennent de partir :rolleyes:

Merci pour ton tableau avec les explications, c est la partie recherche et enregistrement qui me reste à comprendre pour mieux apprehender le code.


En ce qui concerne le code d'erreur il est présent quand je suprime les colones de T à Z, le code refonctionne correctement quand je remet des infos dans les colones de V a plus, peut importe les données.

En lisant ton code j'ai su voir ou il y avait de ref à ces colones.

Je te souhaite une bonne fin de dimanche, au plaisie de te croiser dans la semaine.

Amicalement
 

Speel

XLDnaute Occasionnel
Re : Recopier dans un tableau suivant critaire de tries

En ce qui concerne le code d'erreur il est présent quand je supprime les colonnes de T à Z, le code refonctionne correctement quand je remet des infos dans les colonnes de V a plus, peut importe les données.
En lisant ton code j'ai su voir ou il y avait de ref à ces colonnes.
Étrange ces colonnes ne sont pas prisent en compte , et aucune trace dans le code vba.
en fait on peut purement et simplement les supprimer.

trouvé, en fait erreur tableau TabGen
ReDim TabGen(1 To DerLig, 1 To 264)
j'avais mis DerCol qui ne correspond a rien de cohérent pour cette valeur, 264 correspond au nombre de colonnes max de la feuil2"Cbres"
si tu veux plus d'explication dis le moi.
 
Dernière édition:

LORDDD

XLDnaute Occasionnel
Re : Recopier dans un tableau suivant critaire de tries

Merci Speel pour le super boulot que tu as fait (explication trés claire des codes).


J'ai presque tout compris, il me faut plus decortiquer l'histoire des tableaux virtuels qui servent a trouver et calculer les données.

Code:
If Dico1.exists(c.Value2) Then lig = Dico1(c.Value2) Else Dico1(c.Value2) = Mlig: lig = Mlig: Mlig = Mlig + 1

C'est la partie concernant l'incrementation de le ligne que j'ai du mal a saisie dans cette syntaxe , j'ai plus l'habitude des incrementation du styile I=I+1, cette partie est un peu floue pour moi

Reprise du boulot sur les chapeaux de roue, il faut que je me penche sur la finalisation de ce tableau au plus vite.

Merci pour ton aide precieuse
Je vais regarder de changer dans le code suite à ta remarque

Amicalement
 
Dernière édition:

LORDDD

XLDnaute Occasionnel
Re : Recopier dans un tableau suivant critaire de tries

J'ai fait quelques modification de mise en forme dossier ci joint.

Par contre pas finis d ecrire mon code dans le module 2 Sub copy() pour recopier et mettre en forme dans un tableau figé les resultats extrais de la feuille de base.

Effectivement en modifiant le code plus de bug 1 to derligne par 264 ca fonctionne super

(c) CJoint.com, 2012
 
Dernière édition:

Speel

XLDnaute Occasionnel
Re : Recopier dans un tableau suivant critaire de tries

J'ai fait quelques modification de mise en forme dossier ci joint.

Par contre pas finis d ecrire mon code dans le module 2 Sub copy() pour recopier et mettre en forme dans un tableau figé les resultats extrais de la feuille de base.

Effectivement en modifiant le code plus de bug 1 to derligne par 264 ca fonctionne super

(c) CJoint.com, 2012

Bonsoir,
Vraiment je pense que tu te complique la vie !

Je ne comprends pas trop , à chaque version ta feuille base change. la feuille Cbres aussi, plus de 2 ieme tableau ??

En principe , tu mets tes données brut de pomme dans la feuille Base et le code fait le reste. Pas besoin de filtrer , copier et coller comme tu sembles le faire !!

J'ai modifié le code pour l'extraction dans la feuille "Cbres" soit au format que tu souhaites.
J'avais une vague idée du résultat à atteindre , mais là je ne comprends plus :confused:

A tester ...
 

Pièces jointes

  • lorddd_ver2.xlsm
    91.8 KB · Affichages: 32

LORDDD

XLDnaute Occasionnel
Re : Recopier dans un tableau suivant critaire de tries

Bonjour Speel,

Dslé de ces petits changements,

Le 2eme tableau ne sert plus, car nous etions en phase transitoire de label.
Pour la base de donnée, elle s'aliment tous les jours, mais effectivement j'ai fait un trier, effacer, pour mieux voir en phase de test si tout etait ok, mais dans l'utilisation effectivement, elle restera brut (on collera les donnée dans la feuille de base et le code se chargera de mettre en forme dans le tableau.

Tu as bien compris ce que je cherchais a faire, juste une derniere chose, est il possible que les dates soit fixe aussi du 01/01/2014 au 31/12/2015, et si pas de données a la date on remplie ligne de 0 ou on laisse vide.

Le but de ce classeur est de mettre en forme mes données brutes, pour en faire un tableau base de données. "pour information j'ai 5 etablissements a gerer, donc base de données rangées à l'identique pour les 5".

Effectivement je met tous ca en place, merci de ton aide précieuse.
 

Speel

XLDnaute Occasionnel
Re : Recopier dans un tableau suivant critaire de tries

Tu as bien compris ce que je cherchais a faire, juste une derniere chose, est il possible que les dates soit fixe aussi du 01/01/2014 au 31/12/2015, et si pas de données a la date on remplie ligne de 0 ou on laisse vide.

Bonsoir,

J'ai testé avec les données brut d'importation du premier fichier, je pense que ça devrai te convenir ?

sinon pour l'utilisation :
Dans la feuille PARA mets les dates et les labels dans les tableaux 1 et 2 selon les besoins
importes tes données dans la base
dans menu clique sur Générer l'extraction
 

Pièces jointes

  • lorddd_ver3.xlsm
    143.3 KB · Affichages: 17
Dernière édition:

LORDDD

XLDnaute Occasionnel
Re : Recopier dans un tableau suivant critaire de tries

Speel,

Je viens de regarder ta solution, elle est vraiment Top, extraction en moins le temps qu'il faut le dire pour quelle se fasse.

C'est vraiment ce que je recherche, il me manque plus qu'a mettre en forme mes tableaux pour pouvoir travailler.

Vraiment chapeau bas l'expert.

En espérant que ma problématique puisse servir et aider des membre de la communautés.

Cordialement
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia