VBA code tri
Brooke
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
est ce que quelqu'un pourrait m'expliquer quelques trucs sur ce code? j'ai compris qu'il fait un copier coller spécial, mais il le colle où? toujours sur la même feuille ?
le tri qu'il va faire sur feuil1, cette feuille il faut qu'elle existe déjà? et si elle n'existe pas?
Range(ActiveSheet.Cells(8, colonne), ActiveSheet.Cells(10007, colonne)).Select
Selection.Copy
ActiveSheet.Cells(8, colonne + 11).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False - ????
ActiveWorkbook.Worksheets("feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("feuil1").Sort.SortFields.Add Key:=ActiveSheet.Cells(8, colonne + 11), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("feuil1").Sort
.SetRange Range(ActiveSheet.Cells(8, colonne + 11), ActiveSheet.Cells(10007, colonne + 11))
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next
End Sub
Merci beaucoup !!
est ce que quelqu'un pourrait m'expliquer quelques trucs sur ce code? j'ai compris qu'il fait un copier coller spécial, mais il le colle où? toujours sur la même feuille ?
le tri qu'il va faire sur feuil1, cette feuille il faut qu'elle existe déjà? et si elle n'existe pas?
Range(ActiveSheet.Cells(8, colonne), ActiveSheet.Cells(10007, colonne)).Select
Selection.Copy
ActiveSheet.Cells(8, colonne + 11).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False - ????
ActiveWorkbook.Worksheets("feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("feuil1").Sort.SortFields.Add Key:=ActiveSheet.Cells(8, colonne + 11), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("feuil1").Sort
.SetRange Range(ActiveSheet.Cells(8, colonne + 11), ActiveSheet.Cells(10007, colonne + 11))
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next
End Sub
Merci beaucoup !!
A voir également:
- VBA code tri
- Code ascii - Guide
- Comment faire un tri personnalisé sur excel - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
1 réponse
Bonjour,
Oui la feuille doit exister, sinon il y aura Erreur 1004 ...
Cdt
Lupin
' Sélection d'une plage (implicite ActiveSheet) Range(ActiveSheet.Cells(8, colonne), ActiveSheet.Cells(10007, colonne)).Select 'ActiveSheet.Range(ActiveSheet.Cells(8, colonne), ActiveSheet.Cells(10007, colonne)).Select ' Copier dans presse-papier Selection.Copy ' Positionnement sur la feuille ActiveSheet.Cells(8, colonne + 11).Select ' Coller sur cette même feuille Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ' Désactive le mode copier/coller (voir note 1) Application.CutCopyMode = False ' Enlève tous les filtres ActiveWorkbook.Worksheets("feuil1").Sort.SortFields.Clear ' Création de nouveau filtre ActiveWorkbook.Worksheets("feuil1").Sort.SortFields.Add Key:=ActiveSheet.Cells(8, colonne + 11), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortTextAsNumbers ' Tri sur le feuille With ActiveWorkbook.Worksheets("feuil1").Sort .SetRange Range(ActiveSheet.Cells(8, colonne + 11), ActiveSheet.Cells(10007, colonne + 11)) .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With ' 1 - Lorsque l'on effectue un copier dans excel, la zone est encadré par un pointillé ' si le mode copier/coller n'est pas désactiver cette zone demeure inchangé ' sinon la zone redevient sélectionné mais non encadré de pointillé ' donc un nouveau Selection.Paste ne pourrait être effectué sur cette même zone
Oui la feuille doit exister, sinon il y aura Erreur 1004 ...
Cdt
Lupin