Gestion d'un stock suivant un nombre de cellules
Résolu/Fermé
Laurent8585
Messages postés
6
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
-
20 juil. 2017 à 11:17
Laurent8585 Messages postés 6 Date d'inscription jeudi 20 juillet 2017 Statut Membre Dernière intervention 24 juillet 2017 - 24 juil. 2017 à 08:41
Laurent8585 Messages postés 6 Date d'inscription jeudi 20 juillet 2017 Statut Membre Dernière intervention 24 juillet 2017 - 24 juil. 2017 à 08:41
A voir également:
- Gestion d'un stock suivant un nombre de cellules
- Formule excel pour additionner plusieurs cellules - Guide
- Verrouiller cellules excel - Guide
- Logiciel gestion photo gratuit - Guide
- Le nombre de tentatives de déverrouillage incorrectes est trop élevé samsung ✓ - Forum Samsung
- À l’aide des tableaux ci-dessous, trouvez le mot dont le code ascii est le suivant : 72 65 6a 6f 69 6e 64 72 65 - Forum C
4 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 414
20 juil. 2017 à 12:30
20 juil. 2017 à 12:30
Re
avez vous un modèle de votre problème à déposer ici:
https://www.cjoint.com/
en revenant coller dans un prochain message le lien créé sur le site
à vous lire
avez vous un modèle de votre problème à déposer ici:
https://www.cjoint.com/
en revenant coller dans un prochain message le lien créé sur le site
à vous lire
Laurent8585
Messages postés
6
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
20 juil. 2017 à 14:45
20 juil. 2017 à 14:45
Re
Le fichier se trouve ici
http://www.cjoint.com/c/GGumQTrVAZl
J'ai remis des explications dans la feuille concernée
Merci d'avance pour votre implication
Le fichier se trouve ici
http://www.cjoint.com/c/GGumQTrVAZl
J'ai remis des explications dans la feuille concernée
Merci d'avance pour votre implication
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
20 juil. 2017 à 15:13
20 juil. 2017 à 15:13
Bonjour Laurent, salut amical Vaucluse,
Ton fichier en retour avec un bouton pour actualiser
ALT+F11 pour voir la macro
https://mon-partage.fr/f/AvCu7hay/
Cdlmnt
Via
Ton fichier en retour avec un bouton pour actualiser
ALT+F11 pour voir la macro
https://mon-partage.fr/f/AvCu7hay/
Cdlmnt
Via
Laurent8585
Messages postés
6
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
20 juil. 2017 à 15:51
20 juil. 2017 à 15:51
Un grand merci pour ce problème résolu rapidement
Première visite sur ce forum et la je suis agréablement surpris par votre aide
La solidarité existe encore
Merci !!!!
Première visite sur ce forum et la je suis agréablement surpris par votre aide
La solidarité existe encore
Merci !!!!
Bonjour Laurent,
⚠ Ta formule en Z8 est erronée !
Remplace : =NB.SI(B7:U186;Y8)
par : =SI(Y8="";"";NB.SI(B$7:U$186;Y8))
puis recopie cette formule vers le bas.
----------------------------------------
Le code VBA de via55 est très bon ; je l'ai un peu modifié :
1) Indentation du programme (pour une lecture plus facile)
2) Ajout de Option Explicit : force la déclaration des variables
3) Toutes les variables sont déclarées explicitement
4) Ajout de Application.ScreenUpdating = False
5) Après un Next, ajout de la variable correspondante
6) Détection de la dernière ligne utilisée, selon la colonne A =>
possibilité d'ajouter des lignes supplémentaires sous le tableau
7) Ig initialisé à 7 au lieu de 8, car modif ci-dessous
8) lg = lg + 1 mis devant Range("Y" & lg) = cod (au lieu de après)
9) Ajout d'un tri croissant de la liste des lots (utilise lg précédent,
qui est déjà ok grâce à modif ci-dessus)
Option Explicit Sub codes() Dim cod As String, existe As Byte, lg As Long Dim dlig As Long, x As Long, y As Integer, z As Long Application.ScreenUpdating = False dlig = Range("Y" & Rows.Count).End(xlUp).Row If dlig > 7 Then Range("Y8:Y" & dlig).ClearContents dlig = Range("A" & Rows.Count).End(xlUp).Row lg = 7 For x = 7 To dlig For y = 2 To 21 If Cells(x, y) <> "" Then cod = Cells(x, y): existe = 0 For z = 8 To lg If Range("Y" & z) = cod Then existe = 1 Next z If existe = 0 Then lg = lg + 1: Range("Y" & lg) = cod End If End If Next y Next x Range("Y8:Y" & lg).Sort [Y8], 1 End Sub
Merci de confirmer que tu obtiens bien les résultats attendus.
----------------------------------------
Autres améliorations
J'ai aussi amélioré la présentation de la feuille "Parc vert"
(notamment des formats de cellules).
En colonne A, le dernier n° est 180 ; si tu as besoin d'ajouter des lignes
dessous (donc à partir de la ligne 187), tu peux le faire : le code VBA
s'y adapte automatiquement.
----------------------------------------
Voici le fichier (avec formule corrigée et nouveau code) :
https://mon-partage.fr/f/Fcu1mSM6/
Pour actualiser : clic sur le bouton, ou Ctrl e =>
lots triés par ordre alphabétique.
Cordialement
Laurent8585
Messages postés
6
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
>
dany
24 juil. 2017 à 08:41
24 juil. 2017 à 08:41
Bonjour
Ok ça marche nickel
J'essaye de moderniser mon fichier et je reviens vers vous si besoin
Un grand merci pour votre aide précieuse
Cordialement
Ok ça marche nickel
J'essaye de moderniser mon fichier et je reviens vers vous si besoin
Un grand merci pour votre aide précieuse
Cordialement