Convertir macro en code vba

Résolu/Fermé
jc80 Messages postés 4149 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 - 22 sept. 2015 à 16:44
jc80 Messages postés 4149 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 - 23 sept. 2015 à 09:54
Bonjour,

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



A voir également:

10 réponses

Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
22 sept. 2015 à 16:51
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
jc80 Messages postés 4149 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 1 422
22 sept. 2015 à 16:56
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
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
22 sept. 2015 à 17:01
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
jc80 Messages postés 4149 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 1 422
22 sept. 2015 à 17:13
Ci-joint un exemple raccourci (nombre de colonne) de ce que je veux faire

http://www.cjoint.com/c/EIwpmn8YtS1
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
22 sept. 2015 à 17:28
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
jc80 Messages postés 4149 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 1 422
22 sept. 2015 à 17:29
Oui c'est cela
pour le benjamin1F a remplacer par benjamine1
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
22 sept. 2015 à 17:31
Re,

Ok, je suis sur le point de sortir, mais dès mon retour je te fais ce code
0
jc80 Messages postés 4149 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 1 422
22 sept. 2015 à 17:31
OK Merci
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
22 sept. 2015 à 19:37
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
jc80 Messages postés 4149 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 1 422
23 sept. 2015 à 09:54
Bonjour

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