Bonjour,
MP: Je vous remercie de m'avoir aider cependant j'ai une dernière chose à vous demander je dois rédiger un livret développeur pour mon application hormis toutes mes macros il n'y a que la votre qui est pour moi très difficile à comprendre. Est-possible que vous me l'expliquer s'il vous plait ?
Sub Besoin_Réapro()
' mettre une macro s'il y'a besoin d'un réapro
Dim i%, dl%, msg As String, cpt% '..........Déclaration des variables (https://www.excel-pratique.com/fr/vba/variables)
'........ i% = i as integer : variable ligne ............(nombre donc integer)
'........dl% = dl as integer : variable dernière ligne...(nombre donc integer)
'........msg as string: variable message.................(texte donc string)
'.......cpt% = cpt as integer : vaiable compteur........ (nombre donc integer)
Application.ScreenUpdating = False '......désactive le rafraichissement de l'écran (évite le scintillement pendant la boucle)
With Sheets("Gestion de stock") '........Agit sur cette feuille uniquement
dl = .Range("C" & Rows.Count).End(xlUp).Row: cp = 0
'.......................................dl= dernière ligne en fonction de la colonne C
'.......................................cp= compteur ( à zéro en début de macro)
For i = 3 To dl '......................boucle de la ligne 3 à la dernière
If .Range("C" & i) < 20 Then msg = msg & .Range("B" & i) & Chr(10): cpt = cpt + 1
'.....................................si valeur cellule en C <20,
'.....................................on récupère la valeur de la cellule B dans msg
'....................................(on rajoute à chaque fois d'où msg=msg & valeur cellule B)
'.....................................on incrémente le compteur de 1
Next i '...............................prochaine ligne
End With
If cpt > 0 Then '.......................si le compteur est non nul
MsgBox "Approvisionnement à prévoir pour: " & Chr(10) & Chr(10) & msg
'......................................on crée le message "Approvisionnement à prévoir pour: "
'......................................+ 2 sauts à la ligne + le texte msg
Else '..................................sinon
MsgBox "Aucun approvisionnement à prévoir"
'......................................on crée ce message "Aucun approvisionnement à prévoir"
End If '................................fin de la condition
End Sub
Mais il y peut-être plus simple à faire.....
Cordialement,