Créer une liste dans une feuille VBA
amerya2016
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
tyranausor Messages postés 3545 Date d'inscription Statut Membre Dernière intervention -
tyranausor Messages postés 3545 Date d'inscription Statut Membre Dernière intervention -
Bonjour. j'ai crée une feuille de calcule qui me permet de faire une classification selon catégorie A, B et C
j'ai passé par plusieurs étapes: la première est de saisir le nombre d'articles
après que mon application fait la classification
je voudrai que chaque catégorie et ses articles qui lui appartient s’affichent dans une autre feuille
par exemples les articles de la classe A s’afficheront dans une feuille (classe A)
j'ai besoin d'aide merci d'avance
http://www.cjoint.com/c/FBrkLxWuxHF
j'ai passé par plusieurs étapes: la première est de saisir le nombre d'articles
après que mon application fait la classification
je voudrai que chaque catégorie et ses articles qui lui appartient s’affichent dans une autre feuille
par exemples les articles de la classe A s’afficheront dans une feuille (classe A)
j'ai besoin d'aide merci d'avance
http://www.cjoint.com/c/FBrkLxWuxHF
A voir également:
- Créer une liste dans une feuille VBA
- Créer une liste déroulante excel - Guide
- Créer une adresse hotmail - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer une story facebook - Guide
4 réponses
Bonjour, étant donné que les articles une fois triés pour la méthode ABC sont colorés (en admettant qu'il n'y a aucune erreur), c'est d'effectuer un tri sur la couleur. Tous les verts seront à copier sur une feuille A, les jaunes en B et rouge en C.
Déjà, créer les feuilles par vba
Déjà, créer les feuilles par vba
Sub ajout_feuille()
Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Classe B"
End Sub
Bonjour,
merci de joindre vos fichiers au format .zip , existant d'origine sur Windows, plut^t que de nous obliger à télécharger un logiciel .rar
merci de joindre vos fichiers au format .zip , existant d'origine sur Windows, plut^t que de nous obliger à télécharger un logiciel .rar
Bonjour, la suite de ce qui faut faire. Ta macro doit commencer par inspecter la couleur des cellules de la place K8 à K17 dans ton exemple (ou Ki où i est la dernière ligne).
Donc, commencer par créer la variable i (ou ce que tu veux) qui sera le n° de la ligne en question
et pour la sélection, la manière que je te propose c'est de partir de la cellule active (activecell) et de sélectionner ce qui est à gauche de celle-ci ce qui donnerait
Donc, commencer par créer la variable i (ou ce que tu veux) qui sera le n° de la ligne en question
i = range(K3600).end(xlup).row
et pour la sélection, la manière que je te propose c'est de partir de la cellule active (activecell) et de sélectionner ce qui est à gauche de celle-ci ce qui donnerait
Range(ActiveCell, ActiveCell.Offset(0, -9)).Selectoù le -9 est le décompte des colonnes de gauche (de K8 à A8) et de coller la sélection dans la feuille adéquate que tu as créé
Bonjour, je n'avais pas bien tout lu sur le point où tu sis que tu débute, mille excuses. Donc, si tu veux quelques bases sur le VBA tu as ce site où tout est très expliqué avec captures d'écran à l'appui. Concernant mes lignes de code, i=range("K3600").end(xlup).row va, à partir de la cellule K3600 remonter toutes les lignes jusqu'à la première remplie.
Pour la seconde ligne, cela va créer une sélection allant de la cellule active jusqu'à la 9 cellules à gauche (le - (moins) signifie à gauche avec le paramètre offset => déplacement). Si tu copies ces deux lignes de code à la suite après Sub test() et terminant part end sub en pressant F8 (pas à pas), tu vois, au ralentit, ce que fera Excel en temps normal d'exécution. N'oublies pas de presser F1 pour de l'aide
Pour la seconde ligne, cela va créer une sélection allant de la cellule active jusqu'à la 9 cellules à gauche (le - (moins) signifie à gauche avec le paramètre offset => déplacement). Si tu copies ces deux lignes de code à la suite après Sub test() et terminant part end sub en pressant F8 (pas à pas), tu vois, au ralentit, ce que fera Excel en temps normal d'exécution. N'oublies pas de presser F1 pour de l'aide
Pardon, j'avais oublié. Donc,
et pour la copier vers la feuille "Classe B" ce sera
à la place de
i = range(K3600).end(xlup).row
Range("K"& i, range("K" & i).Offset(0, -9)).Select
et pour la copier vers la feuille "Classe B" ce sera
Range("K" & i, Range("K" & i).Offset(0, -7)).Copy Destination:=Sheets("Classe B").Range("B2")
à la place de
Range("K"& i, range("K" & i).Offset(0, -9)).Select
Bonjour,
Pour l'instant je n'ai travaillé que sur la sub "preparer tableau" que j'ai simplifiée
La présentation des entêtes de ton tableau (B7:E7")sont déjà faites: pourquoi la tu reprogrammée ?
D'autre dans la macro suivante tu utilises toujours les colonnes F et G: pourquoi ne pas les dessiner 1 bonne fois pour toutes ?
pour la suite, combien prévois tu d'article: 50 500,5000....?
Michel
Pour l'instant je n'ai travaillé que sur la sub "preparer tableau" que j'ai simplifiée
La présentation des entêtes de ton tableau (B7:E7")sont déjà faites: pourquoi la tu reprogrammée ?
D'autre dans la macro suivante tu utilises toujours les colonnes F et G: pourquoi ne pas les dessiner 1 bonne fois pour toutes ?
Option Explicit"
Dim x As Integer, classe_a As Integer, classe_b As Integer, classe_c As Integer
'----------------------------
Sub preparer_un_tableau()
Dim i As Integer
Application.ScreenUpdating = False
Range("B8:E1000").Clear
On Error GoTo erreur:
x = Application.InputBox("Veuillez introduire le nombre d'articles", "Nombre d'articles", "Veuillez introduire un nombre naturel", 1)
If x = 0 Then GoTo erreur
Randomize
For i = 1 To x
Cells(7 + i, 2) = i
Cells(7 + i, 3) = "Article " & i
Cells(7 + i, 4) = Int(Rnd * 1000) + 1
Cells(7 + i, 5) = Int(Rnd * 100) + 1
Next
Range(Cells(7, "B"), Cells(7+x, "E")).Borders.Weight = xlThin
Exit Sub
'gestionnaire erreurs
erreur:
MsgBox "saisie incorrecte", vbCritical
End Sub
pour la suite, combien prévois tu d'article: 50 500,5000....?
Michel
A quoi correspond en langage VBA "commentaire" ?
pour avoir ce qui correspond au commentaire en Excel c'est "comments" en VBA.. cest ca que tu veux faire ?
Pour les colonnes F à L (G :faute de frappe!) que fait on : tu les mets on su la feuille avant action de "preparer_un_tableau" ?
les textes que tu as mis sont très longs comme par ex::"Pourcentage de nombre d'articles" et vont posés des pb de lecture a moins d'avir une largeur démésurée ou plusieurs lignes dans la cellule
donc: réduire tes textes ?
Merci de répondre à mes questions: je ne peux rien faire en attendant et j'ai d'autres trucs à faire...
pour avoir ce qui correspond au commentaire en Excel c'est "comments" en VBA.. cest ca que tu veux faire ?
Pour les colonnes F à L (G :faute de frappe!) que fait on : tu les mets on su la feuille avant action de "preparer_un_tableau" ?
les textes que tu as mis sont très longs comme par ex::"Pourcentage de nombre d'articles" et vont posés des pb de lecture a moins d'avir une largeur démésurée ou plusieurs lignes dans la cellule
donc: réduire tes textes ?
Merci de répondre à mes questions: je ne peux rien faire en attendant et j'ai d'autres trucs à faire...
Cher michel_m. excusez mon niveau bas en vba. mais je sollicite votre aide pour terminer mon travail.
vous avez le fichier . vous avez toute la liberté pour modifier et proposer de modification pour tout choses vous voyez inutiles ou ...
le commentaire est le résumé de la classification
on peut le modifier ou bien le supprimer pas de problème
vous avez le fichier . vous avez toute la liberté pour modifier et proposer de modification pour tout choses vous voyez inutiles ou ...
le commentaire est le résumé de la classification
on peut le modifier ou bien le supprimer pas de problème
Mais encore j'ai pas compris ce que vous m'avez postuler puisque je suis un débutant en VBA. svp plus de détails
Merci
Il me reste les autres étapes mnt ... comment faire svp?