aide pour déchiffrer du langage sous VB  Sujet résolu

Pour toutes vos questions à propos d'Excel ...

aide pour déchiffrer du langage sous VB  Sujet résolu

Messagepar go » 13 Août 2009, 14:54

bonjour

J'aurais besoin de vos lumières pour m'aider à décripter tous ce language, je ne comprends pas toutes les subtilitées de VB pour excel.

J'ai besoin de comprendre ces deux macros pour les reproduire sur un nouveau fichier.

Par avance, merci.



Code: Tout sélectionner
Sub TRIER_SALLE()

    Rows("4:9").Select
    Selection.Sort Key1:=Range("A4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Rows("11:63").Select
    Selection.Sort Key1:=Range("A11"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    ActiveWindow.LargeScroll Down:=-2
    Range("A4:AF4").Select
    Selection.Interior.ColorIndex = 35
    Range("A5:AF5").Select
    With Selection.Interior
        .ColorIndex = 2
        .Pattern = xlSolid
    End With
    Range("A4:AF5").Select
    Selection.Copy
    Range("A6:A9").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A11:AF11").Select
    With Selection.Interior
        .ColorIndex = 35
        .Pattern = xlSolid
    End With
    Range("A12:AF12").Select
    Selection.Interior.ColorIndex = 2
    Range("A11:AF12").Select
    Selection.Copy
    ActiveWindow.LargeScroll ToRight:=-2
    Range("A13:A63").Select
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("A13:AF63").Select
    Range("A63").Activate
    ActiveWindow.LargeScroll ToRight:=-1
    Application.CommandBars("Stop Recording").Visible = False
End Sub

et celle là

Code: Tout sélectionner
Sub TRIER_LUNDI()
    Sheets("lundi").Select
    ActiveSheet.Unprotect
    Selection.AutoFilter Field:=1
    Rows("7:59").Select
    Selection.Sort Key1:=Range("B7"), Order1:=xlAscending, Key2:=Range("C7") _
        , Order2:=xlAscending, Key3:=Range("D7"), Order3:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    ActiveWindow.LargeScroll Down:=1
    Rows("66:95").Select
    Selection.Sort Key1:=Range("B66"), Order1:=xlAscending, Key2:=Range("C66" _
        ), Order2:=xlAscending, Key3:=Range("D66"), Order3:=xlAscending, Header _
        :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    ActiveWindow.LargeScroll Down:=-2
    Selection.AutoFilter Field:=1, Criteria1:="<>"
    Range("a6").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Merci d'avance. :wink:
go
Jeune membre
 
Messages: 35
Inscription: 10 Août 2009, 01:24
Version Excel: 2007 FR

Messagepar V_Elbie » 13 Août 2009, 15:17

Bonjour,

Une petite exploration du fichier proposé par Claude DUBOIS, illustre Maître Excel de ce forum, sur le fil suivant (fichier à télécharger)

http://www.excel-pratique.com/forum/vie ... +fonctions

Cela peut déjà constituer une base de recherche...

Cordialement
VLB
V_Elbie
Membre impliqué
 
Messages: 1521
Inscription: 07 Avr 2007, 19:56
Localisation: Pays de Loire (49)
Version Excel: 2003FR maison-2007FR travail

Messagepar Nad-Dan » 13 Août 2009, 15:49

Bonjour,

Revoici ton premier code simplifié avec explications de ce qui se passe.
Code: Tout sélectionner
Sub TRIER_SALLE()
'Tri des lignes 4 à 9
Rows("4:9").Sort Key1:=Range("A4"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'Tri des lignes 11 à 63
Rows("11:63").Sort Key1:=Range("A11"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'Couleur N° 35 de la plage
Range("A4:AF4").Interior.ColorIndex = 35
'Couleur N° 2 de la plage
With Range("A5:AF5").Interior.ColorIndex = 2
'Copie des cellules A4 à AF5 vers les cellules A6
Range("A4:AF5").Copy Destination:=Range("A6")
' sortir hors du ùmode copier coller
Application.CutCopyMode = False
'Couleur N° 35 de la plage
Range("A11:AF11").Selection.Interior.ColorIndex = 35
'Couleur N° 2 de la plage
Range("A12:AF12").Interior.ColorIndex = 2
'Copie des valeurs de la plage A11 à AF12 vers la plage A13
Range("A11:AF12").Copy
Range("A13").PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'On cache la barre d'enregistrement macro
Application.CommandBars("Stop Recording").Visible = False
End Sub

Recopie dans le module. Les explications apparaitront en couleur verte.

Amicalement

Dan
Nad-Dan
Modérateur
 
Messages: 7309
Inscription: 27 Avr 2007, 15:30
Localisation: Nad à Dax (France) - Dan à Liège (Belgique)
Version Excel: 2003 FR-2007 FR-MAC 2004 FR

Messagepar go » 13 Août 2009, 15:58

Hello

Merci pour le tuyau je vais potasser tout cela, ca m'a l'air très intéressant.

si d'autres soucis je reviens vers vous :wink:
go
Jeune membre
 
Messages: 35
Inscription: 10 Août 2009, 01:24
Version Excel: 2007 FR

Messagepar Nad-Dan » 13 Août 2009, 16:18

re,

Merci de mettre ton fil RESOLU si cela est terminé pour toi dans ce fil.

Explications --> http://forum.excel-pratique.com/viewtopic.php?t=13

Merci de ta participation

Dan
Nad-Dan
Modérateur
 
Messages: 7309
Inscription: 27 Avr 2007, 15:30
Localisation: Nad à Dax (France) - Dan à Liège (Belgique)
Version Excel: 2003 FR-2007 FR-MAC 2004 FR

Messagepar go » 14 Août 2009, 00:59

Merci pour la remise en forme de mon post ( un peu dans l'urgence j'avoue )

Je note résolu car je pense que j'ai pas mal d'info, mais je suis pas loin :wink:
go
Jeune membre
 
Messages: 35
Inscription: 10 Août 2009, 01:24
Version Excel: 2007 FR


Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: ait haddou, Bing [Bot] et 20 invités