Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Classer par ordre alphabètique en vba

  • Initiateur de la discussion Initiateur de la discussion nrdz83
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nrdz83

XLDnaute Impliqué
Bonsoir à tous et mes meilleurs voeux

dans ce code j'extraie les données de la colonne A vers la colonne I sans doublons:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  
 'Sélectionne les produits
 Range("A3:A6500").Select
 'extrait les produits sans les doublons vers la colonne I
    Range("A3:A6500").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
        "I3:I6500"), Unique:=True
    ' classer par ordre alphabètique
End Sub

Ce que je cherche à faire en vain c'est de classer ce résultat par ordre alphabètique.

Par avance merci pour votre aide amitiés
 
Re : Classer par ordre alphabètique en vba

Bonsoir nrdz83


À essayer :​
VB:
'classe par ordre alphabètique

Dim Plg As Range
    Set Plg = Range("I3:I6500")

    With Sort
        With .SortFields
            .Clear: .Add Plg.Cells(1, 1), xlSortOnValues, xlAscending, , xlSortNormal
        End With
        .SetRange Plg: .Header = xlNo: .MatchCase = False: .Orientation = xlTopToBottom
        .Apply
    End With


Bonne nuit.


ℝOGER2327
#7110


Jeudi 19 Décervelage 141 (Saint et Sainte Cartouche, vétérinaires - fête Suprême Quarte)
27 Nivôse An CCXXII, 0,3571h - plomb
2014-W03-4T00:51:25Z
 
Re : Classer par ordre alphabètique en vba

bonsoir roger2327 merci super ton code fonctionne.

Par contre le mien bug, grrr
je cherche à copier les données en a3:a6500 les coller en I3 et supprimer les doublons. Le code que j'avais je pensais qu'il fonctionnait mais non il bug.

J'ai essayé ce code
Code:
If Target.Column = 1 Then
    [A3:A6500].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[I3], Unique:=True
    
  End If

et celui là aussi bug.

Quelqu'un pour m'aider?

Par avance merci amitiés
 
Re : Classer par ordre alphabètique en vba

salut

à essayer
Code:
Private Sub Worksheet_Change(ByVal R As Range)
  If R.Row > 2 And R.Column = 1 Then
    [I:I] = ""
    [A3:A6500].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[I2], Unique:=True
    [I3:I6500].Sort [I3], 1
  End If
End Sub
 
Dernière édition:
Re : Classer par ordre alphabètique en vba

Re...


Essayez :​
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plg As Range
'Sélectionne les produits
'Range("A3:A6500").Select ' Inutile !
'extrait les produits sans les doublons vers la colonne I
    Set Plg = Range("I3:I6500")
    Application.EnableEvents = False
    On Error Resume Next
    Plg.ClearContents
'    Range("A3:A6500").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Plg, Unique:=True
    Range("A3:A6500").AdvancedFilter xlFilterCopy, , Plg, True
    On Error GoTo 0
' classer par ordre alphabètique
    With Sort
        With .SortFields
            .Clear: .Add Plg.Cells(1, 1), xlSortOnValues, xlAscending, , xlSortNormal
        End With
        .SetRange Plg: .Header = xlNo: .MatchCase = False: .Orientation = xlTopToBottom
        .Apply
    End With
    Application.EnableEvents = True
End Sub
Il serait peut-être prudent de limiter la portée de la procédure...​


Bonne soirée.


ℝOGER2327
#7112


Jeudi 19 Décervelage 141 (Saint et Sainte Cartouche, vétérinaires - fête Suprême Quarte)
27 Nivôse An CCXXII, 7,7027h - plomb
2014-W03-4T18:29:12Z
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
731
  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
819
R
Réponses
1
Affichages
680
Rose_Chlh
R
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…