Créer une liste dans une feuille VBA
Fermé
amerya2016
Messages postés
33
Date d'inscription
mercredi 27 janvier 2016
Statut
Membre
Dernière intervention
23 février 2016
-
17 févr. 2016 à 11:37
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 - 23 févr. 2016 à 14:19
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 - 23 févr. 2016 à 14:19
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
- Créer une story facebook - Guide
- Créer un compte google - Guide
- Créer un compte gmail - Guide
4 réponses
tyranausor
Messages postés
3545
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
1 avril 2022
2 035
18 févr. 2016 à 20:49
18 févr. 2016 à 20:49
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
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
21 févr. 2016 à 09:17
21 févr. 2016 à 09:17
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
amerya2016
Messages postés
33
Date d'inscription
mercredi 27 janvier 2016
Statut
Membre
Dernière intervention
23 février 2016
21 févr. 2016 à 09:18
21 févr. 2016 à 09:18
ok tout de suite :)
amerya2016
Messages postés
33
Date d'inscription
mercredi 27 janvier 2016
Statut
Membre
Dernière intervention
23 février 2016
21 févr. 2016 à 09:22
21 févr. 2016 à 09:22
tyranausor
Messages postés
3545
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
1 avril 2022
2 035
Modifié par tyranausor le 22/02/2016 à 00:33
Modifié par tyranausor le 22/02/2016 à 00:33
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éé
amerya2016
Messages postés
33
Date d'inscription
mercredi 27 janvier 2016
Statut
Membre
Dernière intervention
23 février 2016
22 févr. 2016 à 08:48
22 févr. 2016 à 08:48
Bonjour.... Merci Merci mais j'ai pas compris ... comme c compliqué lol...
SVP. si vous permettez plus de précision
je suis hyper débutant lol en VBA alors aidez moi pour réaliser mon projet .
SVP. si vous permettez plus de précision
je suis hyper débutant lol en VBA alors aidez moi pour réaliser mon projet .
tyranausor
Messages postés
3545
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
1 avril 2022
2 035
22 févr. 2016 à 11:29
22 févr. 2016 à 11:29
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
amerya2016
Messages postés
33
Date d'inscription
mercredi 27 janvier 2016
Statut
Membre
Dernière intervention
23 février 2016
22 févr. 2016 à 11:34
22 févr. 2016 à 11:34
Merci cher Tyranausor ...
dans mon code ou je met ce que vous m'avez proposer.... exactement svp
dans mon code ou je met ce que vous m'avez proposer.... exactement svp
tyranausor
Messages postés
3545
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
1 avril 2022
2 035
Modifié par tyranausor le 22/02/2016 à 14:00
Modifié par tyranausor le 22/02/2016 à 14:00
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
amerya2016
Messages postés
33
Date d'inscription
mercredi 27 janvier 2016
Statut
Membre
Dernière intervention
23 février 2016
22 févr. 2016 à 13:45
22 févr. 2016 à 13:45
excusez moi je demande trop
j'ai pas encore compris ou je met ce code? dans quel module ?
ou bien dans les nouvelles feuilles classe A....?
j'ai pas encore compris ou je met ce code? dans quel module ?
ou bien dans les nouvelles feuilles classe A....?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
Modifié par michel_m le 22/02/2016 à 11:01
Modifié par michel_m le 22/02/2016 à 11:01
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
amerya2016
Messages postés
33
Date d'inscription
mercredi 27 janvier 2016
Statut
Membre
Dernière intervention
23 février 2016
22 févr. 2016 à 11:05
22 févr. 2016 à 11:05
Bonjour.permettez moi de vous remercie infiniment .. c'est très gentil de votre part.
pour le nombre d'article ça dépend jusque à 10000 artciles
pour le nombre d'article ça dépend jusque à 10000 artciles
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
22 févr. 2016 à 11:40
22 févr. 2016 à 11:40
ok,merci
du fait qu'on dépasse 1000 articles, utiliser des filtres pose problème (but de ma question)
qu'appelles tu "commentaire" dans ton code?
du fait qu'on dépasse 1000 articles, utiliser des filtres pose problème (but de ma question)
qu'appelles tu "commentaire" dans ton code?
amerya2016
Messages postés
33
Date d'inscription
mercredi 27 janvier 2016
Statut
Membre
Dernière intervention
23 février 2016
22 févr. 2016 à 11:44
22 févr. 2016 à 11:44
c'est commentaire
ou bien j'ai pas compris votre question?
ou bien j'ai pas compris votre question?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
>
amerya2016
Messages postés
33
Date d'inscription
mercredi 27 janvier 2016
Statut
Membre
Dernière intervention
23 février 2016
Modifié par michel_m le 22/02/2016 à 13:59
Modifié par michel_m le 22/02/2016 à 13:59
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...
amerya2016
Messages postés
33
Date d'inscription
mercredi 27 janvier 2016
Statut
Membre
Dernière intervention
23 février 2016
22 févr. 2016 à 14:06
22 févr. 2016 à 14:06
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
21 févr. 2016 à 09:03
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
21 févr. 2016 à 11:07
Il me reste les autres étapes mnt ... comment faire svp?