Afficher listbox en VBA

NicolasGo

XLDnaute Nouveau
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.

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:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Afficher listbox en VBA

Bonjour Nicolas, bonjour le forum,

Regarde du coté des Validation de données. Tu peux obliger l'utilisateur à taper l'élément d'une liste, que tu auras définie toi-même, dans une plage donnée. Si il tape autre chose, un message lui signale que sa valeur n'est pas valide...
 

NicolasGo

XLDnaute Nouveau
Re : Afficher listbox en VBA

Bonjour Robert,

J'ai déjà fait avec les validations de données.
En fait, ce que je souhaiterai mais je ne sais pas si c'est possible, c'est que ca me le propose à la suite de mes différents écrans afin que l'utilisateur soit obligé de le remplir.
Dans mon cas actuellement, si une date est renseigné en colonne A, l'utilisateur est obligé de renseigner une valeur dans les 3 cases présente dans mes lignes de code. Je souhaiterai que ça soit pareil pour ma colonne E avec ma liste de données.
 

NicolasGo

XLDnaute Nouveau
Re : Afficher listbox en VBA

Effectivement, cela sera plus simple avec le fichier sous les yeux.
Voici les étapes :
Le commercial clique sur le bouton "Nouveau Rapport" et viens mettre une date en A5.
Une fois la date renseignée, le fichier lui demande le nom du client, le compte rendu et la suite à donner de façon automatique. J'ai ensuite mis un MsgBox lui demandant de remplir l'objectif de visite.
Ce que je souhaite c'est que cette liste prédéfinie apparaissent de la même façon que pour le nom, compte rendu et suite à donner.
 

Pièces jointes

  • Rapport Journalier Activité - Copie (2).xls
    71 KB · Affichages: 77

Discussions similaires

Réponses
6
Affichages
255
Réponses
5
Affichages
241

Statistiques des forums

Discussions
312 429
Messages
2 088 352
Membres
103 824
dernier inscrit
frederic.marien@proximus.