Calcul d'un nombre de lignes sans doublons

h_adil Messages postés 231 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 10 juin 2009 - 6 mai 2008 à 22:12
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 6 mai 2008 à 22:41
Bonsoir,
j'ai une feuille excel "commande" qui contient plusieurs colonnes:
1) Numero de commande
2) Référenes
3) date de commande
et une feuille resultat
2) Semaine
1)Nombre de commande commande

et  une feuille "références particulières" qui contient une seule colonne "référence"
et enfin une feuille "semaine" qui contient une colonne Semaine :S1,S2.. , une colonne Debut semaine et une colonne fin semaine

le but du programme que je veux réaliser est de compte le nombre de commande où au moin une référnces particulière à été commandée. puis afficher le résultat dans la feuille "semaine"

j'ai une aide d'une personne " que je remercié d'abord" pour trouvé une partie du code qui permet de calculer le nombre total des commandes passée avec des références particulières.
mais le problème, je sais pas comment rajouter le contrôle des dates pour les afficher dans la feuille "semaine"
voila le code :

Sub test()
  Dim b As Integer, nb_commande As Integer
  Dim c As Range
 
  Worksheets("Sortie stock").Select
  'parcourir les lignes de la feuille commande
  For b = 2 To Feuil2.Cells(Rows.Count, 1).End(xlUp).Row
    'si la commande à une référence
    
    If Feuil2.Cells(b, 1) <> "" Then
  
      'rechercher dans la feuille références particulières si la référence existe
      'en supposant que les references sont rangées dans les cellules "b2:b26"
      With Worksheets("Donnees_de_base").Range("j2:j24")
        Set c = .Find(Feuil2.Cells(b, 2), LookIn:=xlValues, lookat:=xlWhole)
        'si oui on incremente le nombre de commande
        If Not c Is Nothing Then nb_commande = nb_commande + 1
      End With
    End If
  Next
 
  MsgBox (nb_commande)
End Sub

Un problème = des solutions
programation .....

1 réponse

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
6 mai 2008 à 22:41
Si les références à calculer sont en colonne B, pourquoi lui donner un Range en J ?
      With Worksheets("Donnees_de_base").Range("j2:j24")        Set c .Find(Feuil2.Cells( b, 2 ), LookIn:xlValues, lookat:=xlWhole)
Et qu'est-ce que vient faire Feuil2 ici ?

Je vais attendre une explication avant de m'avancer ...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous