Automatisé la Lecture d'une Feuille pour simplifier

Bonsoir,

Je me suis lancé le défit de Lire Ligne par ligne un Onglet et de le transposé dans un Autre Onglet dés lors que abscisse et ordonné non vide. Simplement je câle ....

Merci de votre aide sur le sujet, je vous joint un exemple à savoir que mes lignes peuvent atteindre 15000 lignes

Bien cordialement

Daniel

24modwh.xlsx (95.49 Ko)

Bonjour,

sans une présentation digne de ce nom - claire, exhaustive, … - ce sera difficile d'obtenir une aide appropriée …

Lire ligne par ligne est une très mauvaise idée question efficacité !

Mieux vaut utiliser par exemple un filtre avancé, un TCD, …

Sinon ne pas oublier l'ami du débutant : le Générateur de macros !

Bonjour,

L'exemple est simplifié au Maximum.

L'onglet Pre-Datas sera ensuite exploité par une autre Macro d'ou la non utilisation de TCD

Le but est de créer Pré-Datas à partir d'un Script SLA! pour rapporter "chamber"

Ligne 17 est la premiere ligne vu par le systeme car colonne D non nul

La ligne 17 est comparé Ligne 14 à chaque fois qu'il y a binomes il est raporté dans pre-datas Chamber completer par les infos de laligne 17

si plus de binome ligne 17

On passe ligne18 est on compare avec ligne14 ainsi de suite...

Merci !!!

Daniel

15modwh.xlsx (120.30 Ko)

A partir de ce code …

Sub Demo()
Dim DT As Date, Rg As Range

With Feuil2.[A13].CurrentRegion
    ReDim COL&(1 To Application.CountA(.Rows(2)) - Application.CountA(.Range("A2:I2")))
           Set Rg = .Cells(2, 10)
    Do
               R& = R& + 1
           COL(R) = Rg.Column
               N& = N& + Application.Count(.Columns(COL(R)))
        If COL(R) = .Columns.Count Then Exit Do
           Set Rg = Rg.End(xlToRight)
    Loop Until Rg.Value = ""

           Set Rg = Nothing
               VA = .Value
    ReDim TR(1 To N, 1 To 6)
End With

For R = 4 To UBound(VA)
    If Asc(VA(R, 1)) = 35 Then
        DT = Replace(VA(R, 1), "#", "")
    Else
        For Each C In COL
            If VA(R, C) Then
                      L& = L& + 1
                TR(L, 1) = DT
                TR(L, 2) = VA(R, 8)
                TR(L, 3) = VA(R, 4)
                TR(L, 6) = VA(2, C)
            End If
        Next
    End If
Next

With Feuil1
    .Cells(1).CurrentRegion.Offset(1).Clear

    With .[A2].Resize(N, 6)
         .Columns(1).NumberFormat = "dd/mm/yyyy "
                           .Value = TR
    End With
End With
End Sub

… tu vas pouvoir réaliser " ton défi " !

Merci Marc L

Tu as Bon, est-il possible de faire remonter Slot-ID et Recipe

Mais en tout cas belle prouesse Technique

Daniel

Je t'en ai laissé car c'est " ton défi " et puis vu le manque d'information …

Merci,

Je suis trés loin de tes compétences, Je traite ici qu'une petite partie de L'iceberg et grâce à toi j'ai avancé Merci

Daniel

Marc L bonjour,

Ton Précieux code m'aide et je te remercierai jamais assez.

Actuellement il est actif pour les Script V2 mais innopérant pour les scrypt type V1 ou V0 peux-tu m'aider s'il te plait

car je veux remonter les memes types d'informations.

Je ne sais pas si je devrai passez par un combo-box pour faire le choix manuellement, ou que tu auras trouvé l'astuce d'un traitement passe partout.

Encore Merci de ton aide et support Marc L

Bien Cordialement

Daniel

16modwh.xlsx (65.42 Ko)

En transformant la procédure avec un paramètre pour la plage à traiter …

Pas assez d'information : par exemple traitement d'une seule feuille avec pré-effacement de la feuille "Pre-Datas" ?

En espérant l'ordre identique des colonnes entre chaque feuille, sinon tu devras adapter …

Rechercher des sujets similaires à "automatise lecture feuille simplifier"