EXPLICATION CODE VBA

Y compris Power BI, Power Query et toute autre question en lien avec Excel
g
gimamine
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 29 mai 2015
Version d'Excel : 2007

Message par gimamine » 1 juin 2015, 14:23

Est ce que quelqu'un peut m'expliquer le code VBA suivant, Merci d'avance.
Sub Récap()
Dim Lg%
Application.ScreenUpdating = False
    Sheets("Trappes CDF").Copy Before:=Sheets(1)
    ActiveSheet.Name = "bibi"
    Lg = Range("A65536").End(xlUp).Row
        '--- tri et extrait sans doublons agrément ---
    Range("a5:h" & Lg).Sort Key1:=Range("e6"), Order1:=xlAscending, _
    Header:=xlYes, OrderCustom:=1, MatchCase:=False
    Range("j2") = "=$e6<>$e7"
    Range("a5:h" & Lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
    "j1:j2"), CopyToRange:=Range("Extrait!a5:f5"), Unique:=True
    
        Application.DisplayAlerts = False
        Sheets("bibi").Delete
        '--- tri et met les formules ---
    With Sheets("Extrait")
        .Activate
        Lg = .Range("A65536").End(xlUp).Row
        .Range("a5:h" & Lg).Sort Key1:=.Range("a6"), Order1:=xlAscending, _
        Header:=xlYes, OrderCustom:=1, MatchCase:=False
        .Range("h6:h" & Lg) = "=f6*g6"
        .Range("g6:g" & Lg) = "=SUMPRODUCT((Agrément=d6)*(QTE))"
    End With
End Sub
o
ouisansdoute
Membre fidèle
Membre fidèle
Messages : 245
Inscrit le : 30 mai 2012
Version d'Excel : 2007-2010

Message par ouisansdoute » 1 juin 2015, 20:35

Sub Récap()
Dim Lg% 'DECLARATION DE VARIABLE Lg
Application.ScreenUpdating = False 'DESACTIVE LA MISE A JOUR DE L AFFICHAGE
Sheets("Trappes CDF").Copy Before:=Sheets(1) 'COPIE LA FEUILLE "Trappes CDF" AVANT LE 1ER ONGLET
ActiveSheet.Name = "bibi" 'RENOMME L ONGLET ACTIF EN bibi
Lg = Range("A65536").End(xlUp).Row ' LA VARIABLE Lg EGALE LE NUMERO DE LA DERNIERE LIGNE DU TABLEAU
'--- tri et extrait sans doublons agrément ---
Range("a5:h" & Lg).Sort Key1:=Range("e6"), Order1:=xlAscending, _ 'TRIE LA PLAGE A2:H +dernière ligne, la première ligne a des entêtes
Header:=xlYes, OrderCustom:=1, MatchCase:=False
Range("j2") = "=$e6<>$e7" 'SAISI LA FORMULE =$e6<>$e7 dans la cellule G2 (positionnement de filtre avancé)
Range("a5:h" & Lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"j1:j2"), CopyToRange:=Range("Extrait!a5:f5"), Unique:=True 'EXECUTE LE FILTRE AVANCE EN AFFICHANT LES RESULTATS DANS LA FEUILLE Extrait

Application.DisplayAlerts = False 'DESACTIVE LA MISE A JOUR DE L AFFICHAGE
Sheets("bibi").Delete

'--- tri et met les formules ---
With Sheets("Extrait") 'SELECTIONNE LA FEUILLE Extrait, TRIE LA PLAGE A5:H dernière ligne PAR ORDRE CROISSANT SUR LA CELLULE A6
.Activate
Lg = .Range("A65536").End(xlUp).Row
.Range("a5:h" & Lg).Sort Key1:=.Range("a6"), Order1:=xlAscending, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False
.Range("h6:h" & Lg) = "=f6*g6" 'FORMULE A SAISIE DANS LA COLONNE H
.Range("g6:g" & Lg) = "=SUMPRODUCT((Agrément=d6)*(QTE))" 'FORMULE A SAISIR DANS LA COLONNE G
End With
End Sub
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message