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
Bonjour,
Ma question précedente étant résolu rapidement par Vaucluse que je remercie, je me permet d'ouvrir un nouveau post
Pour chercher le nombre de cellule par rapport a un critere, il y a ça
=NB.SI(B9:U188;B3)

Type Qté
Vide 3578
A1 19
B5 3


1 2 3 4 5 6

1 A1
2 A1
3 A1 B5
4 A1 B5
5 A1 B5

Mon dernier problème est que je suis obliger de me rappeler de tous les codes inscrits dans ma plage de cellules pour pouvoir les compter
Existe t il un système de recherche qui compterait toutes les cellules en les classant par les codes (environ 20 codes différents mais qui changent régulierement)et le nombre correspondant
Les cellules vides peuvent se compter avec NB.VIDE
Merci d'avance

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
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
0
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
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
0
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
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
0
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
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 !!!!
0
 
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
 
0
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
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
0