Afficher listbox en VBA

  • Initiateur de la discussion Initiateur de la discussion NicolasGo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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...
 
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.
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
201
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
2
Affichages
169
Réponses
4
Affichages
223
Retour