VBA
Fermé
Modisdonc
Messages postés
8
Date d'inscription
lundi 3 avril 2017
Statut
Membre
Dernière intervention
26 avril 2017
-
20 avril 2017 à 16:59
Modisdonc Messages postés 8 Date d'inscription lundi 3 avril 2017 Statut Membre Dernière intervention 26 avril 2017 - 26 avril 2017 à 11:13
Modisdonc Messages postés 8 Date d'inscription lundi 3 avril 2017 Statut Membre Dernière intervention 26 avril 2017 - 26 avril 2017 à 11:13
3 réponses
jordane45
Messages postés
38427
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 735
20 avril 2017 à 17:21
20 avril 2017 à 17:21
Bonjour,
1 - A l'avenir.. merci d'utiliser les balises de code pour poster du code sur le forum
2 - Voici ton code revu et corrigé
A la place de ton code actuel
Puis dans un modul, tu colles ça :
1 - A l'avenir.. merci d'utiliser les balises de code pour poster du code sur le forum
2 - Voici ton code revu et corrigé
A la place de ton code actuel
Private Sub CommandButton1_Click() Call miseenforme Sheets("PROCEDURE").Select End Sub
Puis dans un modul, tu colles ça :
Sub miseenforme() Dim Sh As Worksheet Dim Rng As Range Set Sh = ThisWorkbook.Worksheets("Données brutes") Set Rng = Sh.Cells Rng.Replace What:="'", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Rng.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False Sh.Sort.SortFields.Clear Sh.Sort.SortFields.Add Key:=Range("A2:A129"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With Sh.Sort .SetRange Range("A1:L129") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
Modifié le 20 avril 2017 à 17:21
Modifié le 20 avril 2017 à 17:21
Bonjour
Sheets("Données brutes").Cells.Select
mais pourquoi traiter TOUTE la feuille (1048576 lignes x 16384 colonnes)?
a mon avis, tu vas avoir d'autres erreurs
Bonne continuation
Michel
Sheets("Données brutes").Cells.Select
mais pourquoi traiter TOUTE la feuille (1048576 lignes x 16384 colonnes)?
a mon avis, tu vas avoir d'autres erreurs
Bonne continuation
Michel
Modisdonc
Messages postés
8
Date d'inscription
lundi 3 avril 2017
Statut
Membre
Dernière intervention
26 avril 2017
26 avril 2017 à 11:13
26 avril 2017 à 11:13
Bonjour à tous,
J'ai essayé les deux versions répondues mais j'ai des erreurs encore et encore...
Voici mon nouveau code et ça bloque sur "Range("A1:K1000").Select" :
Pouvez-vous m'aider ?
Merci
J'ai essayé les deux versions répondues mais j'ai des erreurs encore et encore...
Voici mon nouveau code et ça bloque sur "Range("A1:K1000").Select" :
Private Sub CommandButton1_Click()
Sheets("Données brutes").Select
Range("A1:K1000").Select
Selection.Replace What:="'", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("A2:A1000").Select
Selection.NumberFormat = "dd/mm/yy;@"
Range("A1:K2000").Select
ActiveWorkbook.Worksheets("Données brutes").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Données brutes").Sort.SortFields.Add Key:=Range( _
"A2:A1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Données brutes").Sort
.SetRange Range("A1:K1000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("PROCEDURE").Select
Range("B19").Select
End Sub
Pouvez-vous m'aider ?
Merci
25 avril 2017 à 17:02
1. Ok, je fera attention à l'avenir et j' utiliserai les balises de code :)
2. Ton code marche bien mais j'ai oublié de préciser que pour que cela fonctionne comme je le souhaite il faut que je change le format des données de la colonne A ("Date"). Je les passe en date dd/mm/aaaa puis je fais un tri de la plus ancienne à la plus récente.
Sais-tu comment je dois modifier le code pour obtenir ce résultat ?
En utilisant ton code, les dates se modifient de la façon suivante : 09/01/2017 --> 01/09/2017 (on passe de janvier à septembre :( )
Te remerciant par avance pour ton aide (encore...)
Cordialement,