Trie automatique code VBA

captainejack

XLDnaute Occasionnel
Bonsoir le Forum
J'ai plusieurs questions pour finaliser cette USF
-Dans la base de donnée, quel serait le code VBA pour trier automatiquement les données enregistrées une foie validé dans l'USF?
-Quel modification à mon code pour que les N° s'enregistrent sous forme 00 dans la base de données et quels modifs pour le prix s'enregistrent en € à 2 décimals?
-Et quel serait la modif pour que mon tableau de données commencent sur la ligne 6 (par exemple)?
Encore un grand merci pour votre aide
Slts
Dan
 

Pièces jointes

  • Essai.xls
    39 KB · Affichages: 160
  • Essai.xls
    39 KB · Affichages: 167
  • Essai.xls
    39 KB · Affichages: 169

Épaf

XLDnaute Occasionnel
Re : Trie automatique code VBA

Bonsoir captainejack,
-Dans la base de donnée, quel serait le code VBA pour trier automatiquement les données enregistrées une foie validé dans l'USF?
Regarde Sort dans l'aide en ligne

-Quel modification à mon code pour que les N° s'enregistrent sous forme 00 dans la base de données et quels modifs pour le prix s'enregistrent en € à 2 décimals?
Regarde Numberformat dans l'aide en ligne. S'applique à un range.
Exemple
Columns("E").NumberFormat = "#,##0.00 $"

-Et quel serait la modif pour que mon tableau de données commencent sur la ligne 6 (par exemple)?
Quel est le problème ?
Obtenu en enregistrant la macro pour un tri, selon la colonne A, des données de la feuille avec entêtes de colonnes sur la ligne 1.
Code:
Worksheets("feuil1").Cells.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes
Si tes données commencent à la ligne 6, pour les trier tu dois utiliser l'une des deux formules suivantes
Code:
Dim Plage As String
    Plage = Range("A6" & ":" & Worksheets("feuil1").Cells. _
               SpecialCells(xlCellTypeLastCell).Address).Address
    Worksheets("feuil1").Range(Plage).Sort Key1:=Range("A6"), _
         Order1:=xlAscending, Header:=xlYes
ou bien
Code:
    Worksheets("feuil1").Range("A6").CurrentRegion.Sort Key1:=Range("A7"), _
             Order1:=xlAscending, Header:=xlYes
Bonne nuit
 

captainejack

XLDnaute Occasionnel
Re : Trie automatique code VBA

Bonsoir Epaf et le Forum
Merci pour ton aide et les codes
Le code pour les décimales c'est ok, par contre j'ai essayé les codes pour le tri automatique, et il faut que je clique sur la feuille de donnée pour que le trie s'effectue
Ne serait il pas possible que le trie s'effectue une foie les données validées dans L'USF ou à la fermeture de celui-ci
En vous remerciant de votre aide
Slts
Capjack
 

Épaf

XLDnaute Occasionnel
Re : Trie automatique code VBA

Hello,

As-tu essayé en précisant la feuille
Code:
Dim Plage As String
    Plage = Worksheets("feuil1").Range("A6" & ":" & Worksheets("feuil1").Cells. _
               SpecialCells(xlCellTypeLastCell).Address).Address

    Worksheets("feuil1").Range(Plage).Sort Key1:=Worksheets("feuil1").Range("A6"), _
         Order1:=xlAscending, Header:=xlYes
Pas testé.
Mais il n'est pas impossible qu'il faille sélectionner la feuille avans le tri.
Code:
Worksheets("feuil1").select 'ou .activate
Il existe un ou deux cas où la sélection préalable de la feuille est nécessaire.
Tu peux tester pour moi ? ;)
A+
 

captainejack

XLDnaute Occasionnel
Re : Trie automatique code VBA

Bonjour Epaf & le Forum
J'ai essayé avec ton dernier code avec .select et .activate et c'est toujours idem
Ou c'est moi qui a mal placé le code( je ne suis pas fort en VBA),pour trier, je fais un "clic" sur ma page Excel et là le trie s'effectue....Est ce normal??
Merci pour ton aide
@+
Capjack
 

Discussions similaires

  • Question
Microsoft 365 Code VBA
Réponses
2
Affichages
308

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 810
dernier inscrit
mohammedaminelahbali