Trié une base de donnée par VBA excel
Résolu/Fermé
maximus306
-
21 mai 2012 à 09:31
maximus306 Messages postés 9 Date d'inscription mardi 22 mai 2012 Statut Membre Dernière intervention 23 mai 2012 - 23 mai 2012 à 14:59
maximus306 Messages postés 9 Date d'inscription mardi 22 mai 2012 Statut Membre Dernière intervention 23 mai 2012 - 23 mai 2012 à 14:59
A voir également:
- Trié une base de donnée par VBA excel
- Formules excel de base - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
- Si et excel - Guide
4 réponses
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
21 mai 2012 à 09:54
21 mai 2012 à 09:54
Bonjour,
Un exemple de code
Bonne suite
Un exemple de code
Sub Tri_multicriteres() Dim DerLigA 'pour la dernière ligne de la colonne A DerLigA = ActiveWorkbook.Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row 'RAZ Tri precedent ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear '1er Critere: Designation ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("B10"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 'Deuxieme critere: Couleur ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("C10"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 'Troisieme critere: Longueur ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("D10"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 'Tri With ActiveWorkbook.Worksheets("Feuil1").Sort .SetRange Range("A9:H" & DerLigA) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
Bonne suite
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
21 mai 2012 à 12:40
21 mai 2012 à 12:40
Re,
Un peu mieux structure
Un peu mieux structure
Private Sub Comtriechute_Click() Dim DerLigA With Worksheets("stock reél") 'pour la dernière ligne de la colonne A DerLigA = .Range("A" & Rows.Count).End(xlUp).Row 'Tri suivant Designation, Couleur, Longueur .Range("A9:H" & DerLigA).Sort Key1:=.Range("B10"), Order1:=xlAscending, Key2:=.Range("C10" _ ), Order2:=xlAscending, Key3:=.Range("D10"), Order3:=xlAscending, Header _ :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _ , DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _ xlSortNormal End With End Sub
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
21 mai 2012 à 13:52
21 mai 2012 à 13:52
Re,
c'est en scannant le code barre que sa devient "nom du profils;couleur du profil;longeur du profil"
Cette info entre dans un control (textebox ou .......)?
et je voudrais que quand le code barre est mauvais, un message dit "de rentrer ces données manuellement" comment savez vous que c'est mauvais? En principe un code barre est lu ou pas, mais pas lu a moitie. Par contre il peut y avoir des erreurs de lecture.
c'est en scannant le code barre que sa devient "nom du profils;couleur du profil;longeur du profil"
Cette info entre dans un control (textebox ou .......)?
et je voudrais que quand le code barre est mauvais, un message dit "de rentrer ces données manuellement" comment savez vous que c'est mauvais? En principe un code barre est lu ou pas, mais pas lu a moitie. Par contre il peut y avoir des erreurs de lecture.
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
21 mai 2012 à 16:30
21 mai 2012 à 16:30
Re,
enfete je veux bridé les entrées en disant qu'il y a que ce style d'information qui peu rentré donc tel profils et tel couleurs
Un exemple de tests pour valider votre entree:
tester le nombre de ";" (3)
prendre les caracteres qui correspondraient au profil tester par rapport a votre liste
prendre les caracteres qui correspondraient a la couleur tester idem
prendre les caracteres qui correspondraient a la longueur tester par rapport a un format
s'il y en a un
A+
enfete je veux bridé les entrées en disant qu'il y a que ce style d'information qui peu rentré donc tel profils et tel couleurs
Un exemple de tests pour valider votre entree:
tester le nombre de ";" (3)
prendre les caracteres qui correspondraient au profil tester par rapport a votre liste
prendre les caracteres qui correspondraient a la couleur tester idem
prendre les caracteres qui correspondraient a la longueur tester par rapport a un format
s'il y en a un
A+
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
Modifié par f894009 le 21/05/2012 à 16:52
Modifié par f894009 le 21/05/2012 à 16:52
Re,
Avez vous des listes de references pour les nom de profil et les couleurs??
Avez vous des listes de references pour les nom de profil et les couleurs??
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
22 mai 2012 à 12:56
22 mai 2012 à 12:56
Re,
J'ai un peu modifie votre code. Sur l'UF BoiteEntree j'ai ajoute un bouton pour simuler une entree, vous l'enleverez.
https://www.cjoint.com/?BEwm01EurRp
Bonne suite
J'ai un peu modifie votre code. Sur l'UF BoiteEntree j'ai ajoute un bouton pour simuler une entree, vous l'enleverez.
https://www.cjoint.com/?BEwm01EurRp
Bonne suite
maximus306
Messages postés
9
Date d'inscription
mardi 22 mai 2012
Statut
Membre
Dernière intervention
23 mai 2012
22 mai 2012 à 13:32
22 mai 2012 à 13:32
re,
je vous remerci sa marche bien cependant qd je clique sur entré une chute sa m'envoi dircetement sur la feuille macro1 et je ne reste pas sur la 1er feuille stock réel pourquoi?
je vous remerci sa marche bien cependant qd je clique sur entré une chute sa m'envoi dircetement sur la feuille macro1 et je ne reste pas sur la 1er feuille stock réel pourquoi?
maximus306
Messages postés
9
Date d'inscription
mardi 22 mai 2012
Statut
Membre
Dernière intervention
23 mai 2012
22 mai 2012 à 13:44
22 mai 2012 à 13:44
re c'est encore moi,
le OK du code barre pour l'entrée de chute ne fonctionne plus
sa fonctionne quand le code est faux "sa le refuse bien"
mais ne fonctionne pas quand je rentre le bon code "je clique dans le vide"
que faire?
le OK du code barre pour l'entrée de chute ne fonctionne plus
sa fonctionne quand le code est faux "sa le refuse bien"
mais ne fonctionne pas quand je rentre le bon code "je clique dans le vide"
que faire?
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
22 mai 2012 à 14:05
22 mai 2012 à 14:05
Re,
et je ne reste pas sur la 1er feuille stock réel pourquoi?
UserForm BoiteEntree
Ajoutez :
Application.ScreenUpdating = False
Apres
Private Sub UserForm_Activate()
=======================================
Le OK du code barre pour l'entrée de chute ne fonctionne plus
sa fonctionne quand le code est faux "sa le refuse bien"
mais ne fonctionne pas quand je rentre le bon code "je clique dans le vide"
que faire?
L'entree vient d'ou ?????
et je ne reste pas sur la 1er feuille stock réel pourquoi?
UserForm BoiteEntree
Ajoutez :
Application.ScreenUpdating = False
Apres
Private Sub UserForm_Activate()
=======================================
Le OK du code barre pour l'entrée de chute ne fonctionne plus
sa fonctionne quand le code est faux "sa le refuse bien"
mais ne fonctionne pas quand je rentre le bon code "je clique dans le vide"
que faire?
L'entree vient d'ou ?????
maximus306
Messages postés
9
Date d'inscription
mardi 22 mai 2012
Statut
Membre
Dernière intervention
23 mai 2012
22 mai 2012 à 14:20
22 mai 2012 à 14:20
re,
Pour la feuille qui ne se fige pas:
ce n'est pas sur le bouttons ok du code qui faut mettre sa car enfete il y ai deja apres je voi pas ou c'est userfrom BoiteEntree dans le VBA
===========================================
L'entrée??? je ne comprend pas trop, mais je pence que tu voulais dire quel bouttons déconne???
Pour la feuille qui ne se fige pas:
ce n'est pas sur le bouttons ok du code qui faut mettre sa car enfete il y ai deja apres je voi pas ou c'est userfrom BoiteEntree dans le VBA
===========================================
L'entrée??? je ne comprend pas trop, mais je pence que tu voulais dire quel bouttons déconne???
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
22 mai 2012 à 14:38
22 mai 2012 à 14:38
Re,
modif: supprime bouton Cmd_Test, ajoute Application.ScreenUpdating = False
https://www.cjoint.com/?BEwoJLXTrX8
L'entrée??? je ne comprend pas trop, mais je pence que tu voulais dire quel bouttons déconne???
Vous saisissez le code manuellement ou c'est une entree Automatique????
modif: supprime bouton Cmd_Test, ajoute Application.ScreenUpdating = False
https://www.cjoint.com/?BEwoJLXTrX8
L'entrée??? je ne comprend pas trop, mais je pence que tu voulais dire quel bouttons déconne???
Vous saisissez le code manuellement ou c'est une entree Automatique????
21 mai 2012 à 10:13
merci de m'avoir répondu aussi vite j'avai oublié de préciser une chose, je voulais que le trie soit fait par un boutton, g essayé m je retrouvce une erreur
Private Sub Comtriechute_Click()
Dim DerLigA
'pour la dernière ligne de la colonne A
DerLigA = ActiveWorkbook.Worksheets("stock réel").Range("A" & Rows.Count).End(xlUp).Row
'RAZ Tri precedent
ActiveWorkbook.Worksheets("stock réel").Sort.SortFields.Clear
'1er Critere: Designation
ActiveWorkbook.Worksheets("stock réel").Sort.SortFields.Add Key:=Range("B10"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
'Deuxieme critere: Couleur
ActiveWorkbook.Worksheets("stock réel").Sort.SortFields.Add Key:=Range("C10"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
'Troisieme critere: Longueur
ActiveWorkbook.Worksheets("stock réel").Sort.SortFields.Add Key:=Range("D10"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
'Tri
With ActiveWorkbook.Worksheets("stock réel").Sort
.SetRange Range("A9:H" & DerLigA)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
je suis désoler je suis vraiment pas très bon en VBA
21 mai 2012 à 10:55
Excel 2003 ou 2007_2010?
A quelle ligne l'erreur?
21 mai 2012 à 11:05
Version Excel 2003
Bonne suite
21 mai 2012 à 11:25
J'utilise exel 2000, et le code vba merde a la ligne 3 "DerLigA....."
Private Sub Comtriechute_Click()
Dim DerLigA
'pour la dernière ligne de la colonne A
DerLigA = ActiveWorkbook.Worksheets("stock reél").Range("A" & Rows.Count).End(xlUp).Row
'Tri suivant Designation, Couleur, Longueur
Selection.Sort Key1:=Range("B10"), Order1:=xlAscending, Key2:=Range("C10" _
), Order2:=xlAscending, Key3:=Range("D10"), Order3:=xlAscending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
End Sub
21 mai 2012 à 11:34
Je regarde la chose!