Synthèse sur plusieurs feuilles avec CONDITIONS
Bonjour à tous,
je suis nouveau sur le forum et actuellement en galère pour un code VBA, moi n'étant encore qu'un novice en la matière.
Mon problème est le suivant :
Je dispose d'une feuille " Liste articles" dans mon classeur
dans la colonne B de la feuille "Liste articles", il y a des valeurs correspondant aux noms des autre feuilles du classeur (articles)
j'ai crée un bouton sur ma feuille "Liste articles" et je souhaite lorsque je clique sur ce bouton (MiseàJour):
Pour chaque article de ma liste à partir de B7,
1- Aller à la feuille correspondante dans le classeur et copier la date saisie dans la cellule D de la dernière ligne non vide si la valeur de B dans cette même feuille = "Retour" puis coller cette date dans la cellule E de la ligne article correspondant dans ma feuille "Liste articles"
2- Dans la cellule F du même article mettre le nombre de jour entre la date saisie via une TextBox et la date précédemment coller en E
3- Dans la cellule H de la même ligne article, si le nombre de jours en F est supérieur 45 alors écrire "A facturer", sinon écrire "A remplacer"
Merci d’avance pour votre aide
Voici le code que j'ai essayé en adaptant des syntaxes pris ça et là sans trop y comprendre grand chose mais surtout SANS SUCCÈS
Private Sub CmdValider_Click()
Dim a As Long
Dim i As Long
Dim y As Byte
Dim Rep As Byte
Rep = MsgBox(" Voulez-vous vraiment faire la mise à jour des articles au " & TxtDateIni & " ?", vbCritical + vbYesNo + 256, "Attention")
If Rep = vbNo Then
TxtDateIni.SetFocus
Exit Sub
ElseIf Rep = vbYes Then
Application.ScreenUpdating = False
a = 7
Do While Sheets("Liste articles").Range("B" & a).Value <> ""
a = a + 1
Loop
Sheets("Liste articles").Protect Password:="sublime", userinterfaceonly:=True
For y = 1 To Sheets.Count
If Sheets("Liste articles").Range("B" & a) = Sheets(y).Name And Sheets(y).Range("B" & a).Value = "Retour" Then
Sheets("Liste articles").Range("E" & a).FormulaLocal = "='" & Sheets(y) & "'!D" & Cel.Row
Sheets("Liste articles").Range("F" & a).FormulaLocal = TxtDateIni.Value - Sheets("Liste articles").Range("E" & a).Value
End If
Next
If Sheets("Liste articles").Range("F" & a).Value > 45 Then
Sheets("Liste articles").Range("H" & a).Value = "A Facturer"
Else
Sheets("Liste articles").Range("H" & a).Value = "A Remplacer"
End If
End If
End SubMultipost
Trop pressé pour compléter ton profil ?