Vitesse d'exécution de la macro

je regarde demain

Les solutions :

  • appeler les données dans un tableau (colonne 2 = marque, colonne 3 = modèle, colonne 4 = type)
    Dim data
    Windows("Lista Applicazioni RAPID modifié _ test.xls").Activate
    ' importation des données
    data = Sheets(1).Range("B2").CurrentRegion
  • travailler en dictionnaire des marques et modèles
    Dim marques As Object, modeles As Object
    Set marques = CreateObject("Scripting.Dictionary")
    Set modeles = CreateObject("Scripting.Dictionary")

    ' dictionnaire des marques
    For i = 2 To UBound(data)
        If data(i, 2) <> "" Then marques(data(i, 2)) = ""
    Next
    ' pour chaque marque
    For Each lamarque In marques
        ' dictionnaire des modèles avec les types
        For i = 2 To UBound(data)
            If data(i, 2) = lamarque Then modeles(data(i, 3)) = modeles(data(i, 3)) & "|" & data(i, 4)
        Next
        ' vidage du dictionnaire des modèles pour la prochaine marque
        modeles.RemoveAll
    Next
  • supprimer toutes les formules si pas nécessaires et compter via la macro
  • reporter en bloc les données
            tableau = Split(modeles(lemodele), "|")
            Cells(3, colonne).Resize(UBound(tableau) + 1, 1) = Application.Transpose(tableau) ' les types

N'oublie pas de clore ce fil de discussion en cliquant sur

Rechercher des sujets similaires à "vitesse execution macro"