youne62
XLDnaute Nouveau
Bonjour,
Je me suis mis au langage VBA depuis une semaine par auto-apprendtissage mais bon, cela reste laborieux!
J'ai réussi à récupérer le code d'un programme dans l'entreprise où j'effectue mon stage, il permet de générer des lignes en fonction d'une valeur (nombre de palettes). Lorsqu'une des lignes générées est "débloquée", on soustrait le temps de triage de cette palette au temps total de triage affichée seulement sur la ligne principale qui a généré toutes les autres lignes (colonne P ou 16).
Ce temps total est calculé automatiquement en fonction du temps de triage par palette que l'on entre manuellement (colonne O ou 15) multiplié par le nombre de palette (colonne I ou 9).
J'ai une colonne où je veux indiquer le temps total seulements sur la ligne principale et qui multiplie la valeur de la cellule de la ligne principale colonne O par la celulle de la ligne principale colonne I.
exemple : si je rentre nbre de palette = 5 et que tps de triage = 4 alors temps eval = 20 sans que cela s'affiche dans les lignes générées(je crois, si j'ai bien compris, que c'est .clearcontents qui fait sa?)
Je ne sais pas si j'ai été clair et précis dans mes explication mais je vous donne ce code pour pouvoir comprendre ce que j'essaie d'expliquer
Sivous voulez plus de précision n'hésitez pas à me les demander.
Merci de votre aide.
Je me suis mis au langage VBA depuis une semaine par auto-apprendtissage mais bon, cela reste laborieux!
J'ai réussi à récupérer le code d'un programme dans l'entreprise où j'effectue mon stage, il permet de générer des lignes en fonction d'une valeur (nombre de palettes). Lorsqu'une des lignes générées est "débloquée", on soustrait le temps de triage de cette palette au temps total de triage affichée seulement sur la ligne principale qui a généré toutes les autres lignes (colonne P ou 16).
Ce temps total est calculé automatiquement en fonction du temps de triage par palette que l'on entre manuellement (colonne O ou 15) multiplié par le nombre de palette (colonne I ou 9).
J'ai une colonne où je veux indiquer le temps total seulements sur la ligne principale et qui multiplie la valeur de la cellule de la ligne principale colonne O par la celulle de la ligne principale colonne I.
exemple : si je rentre nbre de palette = 5 et que tps de triage = 4 alors temps eval = 20 sans que cela s'affiche dans les lignes générées(je crois, si j'ai bien compris, que c'est .clearcontents qui fait sa?)
Je ne sais pas si j'ai été clair et précis dans mes explication mais je vous donne ce code pour pouvoir comprendre ce que j'essaie d'expliquer
Sub repet()
On Error GoTo gestion
derlig = [E8].End(xlDown).Row
If Cells(derlig, 9).Value = "" Then
MsgBox "Veuillez entrer le nombre de palettes"
Cells(derlig, 9).Select
End
End If
If Cells(derlig, 15).Value = "" Then
MsgBox "Veuillez entrer un temps estimé de triage par palette"
Cells(derlig, 15).Select
End
End If
If Cells(derlig, 1).Font.ColorIndex = xlAutomatic Then
Application.EnableEvents = False
derlig2 = Cells(derlig, 9).Value
Range(Cells(derlig, 1), Cells(derlig, 15)).AutoFill Destination:=Range(Cells(derlig, 1), Cells(derlig + derlig2, 15)), Type:=xlFillCopy
nb = Cells(derlig, 8).Value / derlig2
Range(Cells(derlig + 1, 8), Cells(derlig + derlig2, 8)).Value = nb
Range(Cells(derlig + 1, 9), Cells(derlig + derlig2, 9)).Value = 1
Cells(derlig, 13).FormulaR1C1 = "=IF(RC[3]=0,""DEBLOCAGE"",""BLOCAGE"")"
Range(Cells(derlig + 1, 13), Cells(derlig + derlig2, 13)).Value = "BLOCAGE"
Range(Cells(derlig + 1, 12), Cells(derlig + derlig2, 12)).ClearContents
Cells(derlig, 16).FormulaR1C1 = "=SUMPRODUCT((palette=""BLOCAGE"")*RC[-1])"
Range(Cells(derlig + 1, 1), Cells(derlig + derlig2, 15)).Font.ColorIndex = 3
Range(Cells(derlig, 12), Cells(derlig + derlig2, 12)).Value = Cells(derlig, 15).Value
End If
gestion:
Application.EnableEvents = True
End Sub
Sivous voulez plus de précision n'hésitez pas à me les demander.
Merci de votre aide.