Bonjour à tous,
Une nouvelle fois, je vous redemande de l'aide concernant du code en VBA.
Je m'explique :
J'ai un tableau dans lequel les commerciaux doivent venir renseigner un rapport d'activité. Sur ce tableau, dès qu'ils renseignent une date dans la colonne A, il y a différents MsgBox qui apparaissent leur demander de remplir certaines informations. Ces informations sont ensuite inscrites dans les cases correspondantes.
Je bloque sur une chose. Dans la colonne E (objectif de visite), j'ai une liste prédéfinie de données. Je ne veux pas que mes commerciaux renseigne autre chose que ce que j'ai prédéfinie. Ma problématique est que je ne sais pas comment faire pour faire afficher un MsgBox avec cette liste afin que tous mes champs de remplissage passent par ces MsgBox ...
Est-ce que quelqu'un peut me donner un coup de main? Je vous met le code que j'ai déjà fait. Je pense qu'il peux être améliorer mais je débute en VBA.
Merci par avance.
Une nouvelle fois, je vous redemande de l'aide concernant du code en VBA.
Je m'explique :
J'ai un tableau dans lequel les commerciaux doivent venir renseigner un rapport d'activité. Sur ce tableau, dès qu'ils renseignent une date dans la colonne A, il y a différents MsgBox qui apparaissent leur demander de remplir certaines informations. Ces informations sont ensuite inscrites dans les cases correspondantes.
Je bloque sur une chose. Dans la colonne E (objectif de visite), j'ai une liste prédéfinie de données. Je ne veux pas que mes commerciaux renseigne autre chose que ce que j'ai prédéfinie. Ma problématique est que je ne sais pas comment faire pour faire afficher un MsgBox avec cette liste afin que tous mes champs de remplissage passent par ces MsgBox ...
Est-ce que quelqu'un peut me donner un coup de main? Je vous met le code que j'ai déjà fait. Je pense qu'il peux être améliorer mais je débute en VBA.
Merci par avance.
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
For i = 1 To 65536
If Cells(i, 1).Value <> "" Then
If Cells(i, 2) = "" Then
cellule = "A" + Str(i)
' MsgBox "Veuillez saisir ... dans la cellule E" + Str(i), vbOKCancel
saisie = InputBox("Veuillez saisir un nom de client pour la ligne" + Str(i), "Saisie du nom du client")
Cells(i, 2).Value = saisie
End If
If Cells(i, 6) = "" Then
cellule = "A" + Str(i)
' MsgBox "Veuillez saisir ... dans la cellule E" + Str(i), vbOKCancel
saisie = InputBox("Veuillez saisir un compte rendu pour la ligne" + Str(i), "Saisie d'un compte rendu")
Cells(i, 6).Value = saisie
End If
If Cells(i, 7) = "" Then
cellule = "A" + Str(i)
' MsgBox "Veuillez saisir ... dans la cellule E" + Str(i), vbOKCancel
saisie = InputBox("Veuillez saisir une suite à donner pour la ligne" + Str(i), "Saisie d'une suite à donner")
Cells(i, 7).Value = saisie
End If
End If
Next
End Sub
Dernière édition: