Mise au point et fin d'une macro
Fermé
sam130242
Messages postés
72
Date d'inscription
samedi 9 avril 2016
Statut
Membre
Dernière intervention
2 janvier 2017
-
Modifié par sam130242 le 11/06/2016 à 01:19
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 11 juin 2016 à 06:43
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 11 juin 2016 à 06:43
A voir également:
- Mise au point et fin d'une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Mise en forme conditionnelle excel - Guide
- Point de restauration - Guide
- Macro word - Guide
- Point de suite word - Guide
1 réponse
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
11 juin 2016 à 06:43
11 juin 2016 à 06:43
Bonjour
Pour le test de B4 et D4, mettre entre crochets
Pour le tri, utilisez l'enregistreur de macro
Après MsgBox, pas de signe =
Cdlt
Pour le test de B4 et D4, mettre entre crochets
Pour le tri, utilisez l'enregistreur de macro
Après MsgBox, pas de signe =
Option Explicit Dim num_lign, lign_disp, DerLig Sub Transfert() If [B4] = [D4] Then 'égalité montant rlv et montant progressif For num_lign = 6 To Range("A" & Rows.Count).End(xlUp).Row 'on délimite la plage de ENCOURS If Range("H" & num_lign) = Range("A4") Then 'on sélectionne les n° de relevé lign_disp = Sheets("HISTO").Range("A" & Rows.Count).End(xlUp)(2).Row 'position sur 1ere ligne dispo de HISTO Range("A" & num_lign & ":K" & num_lign).Copy Sheets("HISTO").Range("A" & lign_disp) 'copy la ligne ENCOURS sur HISTO Range("A" & num_lign & ":K" & num_lign).Delete Shift:=xlUp 'suppression cette ligne sur ENCOURS End If Next num_lign 'tri sur HISTO Sheets("HISTO").Select DerLig = [A1000000].End(xlUp).Row With Range("A4:K" & DerLig).Select ActiveWorkbook.Worksheets("HISTO").Sort.SortFields.Clear ActiveWorkbook.Worksheets("HISTO").Sort.SortFields.Add Key:=Range("H4:H" & DerLig), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("HISTO").Sort.SortFields.Add Key:=Range("A4:A" & DerLig), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("HISTO").Sort.SortFields.Add Key:=Range("G4:G" & DerLig), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("HISTO").Sort.SortFields.Add Key:=Range("J4:J" & DerLig), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("HISTO").Sort .SetRange Range("A4:K" & DerLig) .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End With Else MsgBox "terminer pointage en cours - abandon du transfert" 'message abandon et sortie du transfert End If End Sub
Cdlt