réaliser une nomenclature

réaliser une nomenclature - VB/VBA/VBS - Programmation

Marsh Posté le 12-02-2009 à 23:27:16    

Bonjour
   
Voilà mon soucis: je souhaite réaliser une nomeclature sur excel grâce à une VB.
 
Description de la situation :
Sur une feuilleA, j'ai une base de données: dans cette base de données, j'ai des éléments avec des quantités différentes.
Je souhaite établir la liste de tous les éléments qui ont une quantité supérieure à zéro (ce qui est logique pour uné nomenclature)
Ensuite suivant ces éléments, je leur affecte une référence qui figure dans la base de donné sur la même ligne que le numéro déinissant la quantité.
 
2 G 1/4 1800 0 / 16 entièrement automatique, fermé sans pression    0,676 R412006300  
1 G 1/4 1800 1,5 / 16 semi-automatique, ouvert sans pression    0,633 R412006298  
1 G 1/4 1800 1,5 / 16 entièrement automatique, ouvert sans pression    0,676 R412006299  
0 G 3/8 2000 1,5 / 16 semi-automatique, ouvert sans pression    0,633 R412006307  
0 G 3/8 2000 1,5 / 16 entièrement automatique, ouvert sans pression    0,676 R412006308  
0 G 3/8 2000 0 / 16 entièrement automatique, fermé sans pression    0,676 R412006309  
 
Quantité                                                                                                                                                           référence                                      
 
 
Voila le type de tableau dans lequel je veux faire figurer les articles avec une quantité supérieure à 0.
 
Numéro Elément Quantité  référence
   
 
 
 
Etant un débutant en VB voilà le partie de programme que j'ai réalisé (probablement faux!!) mais qui me fait apparaître seulement la derniére référence respectant la condition.
Il n'y a pas d'incrémantation afin de pouvoir lire tous les éléments sur la nomenclature.
 
Sub nomenclature()
For i = 9 To 1200
If Sheets("BD" ).Cells(i, 2) > 0 Then
Sheets("c" ).Cells(3, 4) = Sheets("bd" ).Cells(i, 11)
 
For j = 3 To 50
If Sheets("c" ).Cells(j, 4) = "" Then Sheets("c" ).Cells(j, 4) = Sheets("c" ).Cells(3, 4) Else: Sheets("c" ).Cells(j, 4) = Sheets("c" ).Cells(j + 1, 4)
 
GoTo line1
 
line1:
Next
End If
Next
End Sub
 
J'espère que j'ai bien expliqué mon problème et que quelqu'un pourra m'aider.
 
Merci

Reply

Marsh Posté le 12-02-2009 à 23:27:16   

Reply

Marsh Posté le 13-02-2009 à 08:23:06    

GoTo line1  
 
line1:  
donc ton goto (l'infamme goto) ne sert a rien si ?


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 13-02-2009 à 12:55:01    

fluminis a écrit :

GoTo line1  
 
line1:  
donc ton goto (l'infamme goto) ne sert a rien si ?


Mon goto me sert à rien effectivement, tu as raison mais je recherche surtout de l'aide pour obtenir une méthode.

Reply

Marsh Posté le 13-02-2009 à 14:39:31    

Bonjour
 
Elle est ou la quantité dans ce tableau ?

Citation :

2 G 1/4 1800 0 / 16 entièrement automatique, fermé sans pression    0,676 R412006300  
1 G 1/4 1800 1,5 / 16 semi-automatique, ouvert sans pression    0,633 R412006298  
1 G 1/4 1800 1,5 / 16 entièrement automatique, ouvert sans pression    0,676 R412006299  
0 G 3/8 2000 1,5 / 16 semi-automatique, ouvert sans pression    0,633 R412006307  
0 G 3/8 2000 1,5 / 16 entièrement automatique, ouvert sans pression    0,676 R412006308  
0 G 3/8 2000 0 / 16 entièrement automatique, fermé sans pression    0,676 R412006309  


Vu le code ce doit etre en colonne B mais je prefere etre sur.
C'est dans une seule cellule ou tes "/" indiquent les colonnes ?

Message cité 1 fois
Message édité par SuppotDeSaTante le 13-02-2009 à 14:40:58

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 13-02-2009 à 19:31:05    

SuppotDeSaTante a écrit :

Bonjour
 
Elle est ou la quantité dans ce tableau ?

Citation :

2 G 1/4 1800 0 / 16 entièrement automatique, fermé sans pression    0,676 R412006300  
1 G 1/4 1800 1,5 / 16 semi-automatique, ouvert sans pression    0,633 R412006298  
1 G 1/4 1800 1,5 / 16 entièrement automatique, ouvert sans pression    0,676 R412006299  
0 G 3/8 2000 1,5 / 16 semi-automatique, ouvert sans pression    0,633 R412006307  
0 G 3/8 2000 1,5 / 16 entièrement automatique, ouvert sans pression    0,676 R412006308  
0 G 3/8 2000 0 / 16 entièrement automatique, fermé sans pression    0,676 R412006309  


Vu le code ce doit etre en colonne B mais je prefere etre sur.
C'est dans une seule cellule ou tes "/" indiquent les colonnes ?


 
La colonne indiquant la  quantité est jsute le nombre qui est tout à gauche
et la référence est le dernier élément à droite. Les élément qui sont entre ne sont pas important.

Reply

Marsh Posté le 13-02-2009 à 19:38:57    

Ok.
 
Pourquoi ne pas simplement utilisé les filtres a ce moment la ?


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed