Création BOM

Bonjour, J'ai mis en fichier joint mon chiffrier pour que vous puissiez suivre mes questionnements. Dans la feuille "BOM," j'aimerais insérer une macro Via bouton ou raccourcie afin de caché les lignes vides. ( Puisque que lorsque je la mets dans la feuille directement, il ne fait pas de mise à jour, c'est-à-dire qu'il ne montre pas cellules contenant des informations lorsque je change mes paramètres de la feuille "Confi". De plus, j'aimerais savoir s'il est possible d'additionner les pièces identiques (ex. Hauteur 4 , longueurs 96 ).

Merci de votre aide !

Ne juger pas la qualité du chiffrier ce n'ai vraiment pas mon domaine. J'essaie de créer un BOM pour la production de façons automatique

Bonjour

à tester pour suppression des lignes vides de l'onglet BOM vides ou avec formules,

Il ne restera plus qu'à trouver pour additionner,, sûrement une formule

à tester:

'Erreur de code oupss!  désolé

crdlt,

André

Hello André,

Dans l'énoncé initial, je lis :

« Dans la feuille "BOM," j'aimerai insérer une macro via bouton ou raccourci afin de cacher les lignes vides. »

« cacher » n'est pas « jouer », et « supprimer » n'est pas « masquer » !

Je le dis pour cela : If Cells(i, 1).Value = "" Then Cells(i, 1).EntireRow.Delete

dhany

Re,

coucou Dhany

oh flûte mal lû

je vais supprimer le code merci Dhany

crdlt,

André

Bonsoir APaquet,

Je te retourne ton fichier Excel modifié :

Ctrl e ➯ toutes les lignes vides sont masquées (cachées)

Alt F11 pour voir le code VBA, puis revenir sur Excel

dhany

Re,

merci Dhany,

j'ai essayé mais je ne comprend pas pourquoi moi çà ne fonctionne qu'à moitié avec ce bout de code c'est quoi qui cloche

merci d'avance

Edit : 3 et non 5

EDIT: je viens de voir ton code, je comprend mieux, il me manquait les colonnes à mettre col = ...

Sub Masquer_ligne()
' déclaration des variables
Dim i As Long
Dim n

Sheets("BOM").Activate

n = Sheets("BOM").Range("A" & Rows.Count).End(xlUp).Row
For i = 3 To n
  If Cells(i, 1) = 1 Then Rows(i).HasFormula_
Sheets("BOM").Cells(i, 1).EntireRow.Hidden = True
Next
End Sub

@Andre13

1) utiliser Worksheets("BOM") plutôt que Sheets("BOM") ; raison : la feuille "BOM" étant une feuille de calcul, elle sera plus vite trouvée parmi la collection Worksheets des feuilles de calcul que parmi la collection Sheets de toutes les feuilles (quel que soit leur type).

2) avec Worksheets("BOM").Activate, la feuille active est donc la feuille "BOM" ; donc inutile de la référencer ensuite : tu peux enlever les 2 « Sheets("BOM"). »

3) tu as bien fait de remplacer 5 par 3 pour la valeur initiale du « For i » ... mais prends l'habitude de ne jamais mettre Next tout seul : ici, mets : « Next i » : raison : ça accélère le code car VBA n'a pas besoin de chercher à quel Next correspond le For.

4) remarque bien ceci : a) les colonnes A à C contiennent des formules et les colonnes D à F n'en n'ont pas ; b) la dernière ligne n'est pas la ligne 22 mais la ligne 26 ; c'est pourquoi ma macro masque aussi les lignes 23 à 26.

5) tu as compris que si j'ai utilisé col, c'est pour vérifier si pour une ligne donnée, les cellules des colonnes A à F sont ou non différentes d'une chaîne vide "" (valable pour les cellules avec formule ou sans).

dhany

Re,

Merci Dhany, pour toutes ses explications, je les relierais demain tête fraîche

crdlt,

André

@APaquet

Tu a écrit :

j'aimerai savoir s'il est possible d'additionner les pièces identiques (ex : hauteur 4 ; longueur 96)

Je crois que tu as plutôt voulu dire :

a) « connaître le nombre de pièces dont la hauteur est identique : 4 » : =NB.SI(A:A;4)+NB.SI(D:D;4)2

b) « connaître le nombre de pièces dont la longueur est identique : 96 » : =NB.SI(B:B;96)+NB.SI(E:E;96)5

dhany

@Dhany

Merci beaucoup de ton aide.

Par-contre, oui je parle bien d'un matériau de même grandeur soit de hauteur et de longueur identique afin de les comptabiliser.

*À noter que les valeurs de Hauteur et de Longueur ne sont jamais standard puisqu'il dépend de la feuille "Confi"alors ce qui me rend à cours de solution.

Comme c'est pour 2 conditions différentes à la fois, je te propose cette formule pour comptabiliser tous les matériaux de Hauteur 48 et Longueur 96 : =NB.SI.ENS(A:A;48;B:B;96)+NB.SI.ENS(D:D;48;E:E;96)2

dhany

Rechercher des sujets similaires à "creation bom"