Convertir macro en code vba

Résolu
jc80 Messages postés 5063 Date d'inscription   Statut Membre Dernière intervention   -  
jc80 Messages postés 5063 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerais savoir comment convertir ou traduire une macro excel en code vba
Windows 7 Office 2007.
merci pour votre aide
Cordialement

10 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonsoir,

    tu peux expliquer ce que tu veux ou donner un exemple, parce que traduire une macro excel en code vba, une macro est déjà écrite en code VBA ou alors il s'agit d'un code très ancien sous Excel 5 je crois ou le code était en Français
    0
  2. jc80 Messages postés 5063 Date d'inscription   Statut Membre Dernière intervention   1 443
     
    Bonjour Micke-31
    Merci pour ta réponse
    Voila le genre de macro que j'ai enregistrée elle fonctionne très bien ,
    mais je pense qu'il y a des termes qui sont inutiles.
    C'est là ou je voudrais simplifier.
    Mais mes compétences en la matière sont limitées
    Si tu peux m'éclairer je suis preneur.
    Cordialement

    Sub tri()
    '
    ' tri Macro
    '

    '
    Range("C2:C150").Select
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("C2"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
    .SetRange Range("A2:C150")
    .Header = xlNo
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    End Sub
    0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    ton code effectivement contient des lignes inutiles pour simplement filtrer ta plage

    explique exactement ce que tu veux faire voir jusqu'à quel point il est possible de l'améliorer, et après avoir filtré ta colonne C que veux tu faire
    0
  4. jc80 Messages postés 5063 Date d'inscription   Statut Membre Dernière intervention   1 443
     
    Ci-joint un exemple raccourci (nombre de colonne) de ce que je veux faire

    http://www.cjoint.com/c/EIwpmn8YtS1
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    donc il faut filtrer ta liste colonne C pour avoir tous les benjamin2
    puis la colonne B pour les points soit mathieu avec 250 puis guy avec 228 etc ...
    au dessous junior, puis senior 1 en premier canard avec 600 puis dupont avec 500 etc ...

    es ce normal qu'il y ai un benjamin 1F ou es ce un exemple
    0
  7. jc80 Messages postés 5063 Date d'inscription   Statut Membre Dernière intervention   1 443
     
    Oui c'est cela
    pour le benjamin1F a remplacer par benjamine1
    0
  8. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Ok, je suis sur le point de sortir, mais dès mon retour je te fais ce code
    0
  9. jc80 Messages postés 5063 Date d'inscription   Statut Membre Dernière intervention   1 443
     
    OK Merci
    0
  10. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    bon en D2 colle cette formule

    =SOMMEPROD(($B$2:$B$200>=B2)*($C$2:$C$200=C2))


    en F2 cette formule, la colonne F pourra être masquée

    =C2&SOMMEPROD(($B$2:$B$200>=B2)*($C$2:$C$200=C2))


    puisque tu as créé un bouton activeX à la place d'appeler le code Tri que tu supprime colle ce code

    Private Sub CommandButton1_Click()
    With Worksheets("Feuil1")
    With .Range("A2:F" & .Range("A65536").End(xlUp).Row)
    .Sort key1:=.Item(6, 6), order1:=xlAscending, Header:=xlNo
    End With
    End With
    End Sub
    0
  11. jc80 Messages postés 5063 Date d'inscription   Statut Membre Dernière intervention   1 443
     
    Bonjour

    J'ai mis en place et cela fonctionne.
    Merci pour ton aide
    Cordialement
    0