Microsoft 365 Rendre un champ obligatoire depuis une liste

Sarah2308

XLDnaute Nouveau
Bonjour,

En colonne C, j'ai une liste avec plusieurs libellés de dépenses. Je souhaite avoir un pop up "Entrer le détail de la dépense" quand je sélectionne "Autres transports" dans ma liste, et que le champ "commentaires" (colonne I) devienne obligatoire. Je ne peux pas continuer ma saisie si je ne remplis pas le champ commentaire.
J'ai vu dans d'autres sujets qu'il y avait des solutions VBA mais je ne touche pas du tout et je n'arrive pas à appliquer à mon sujet.

Merci d'avance pour votre aide ! :)
 

Pièces jointes

  • NDF_RD.xlsm
    25 KB · Affichages: 16
Solution
Bonsoir @Sarah2308 , @Laurent78

A ajouter dans le module de la feuille. Feuil1 (NDF)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C14:C" & Cells(65536, 5).End(xlUp).Row)) Is Nothing Then
        If Target.Value = "Autres Transports" Then
            Target.Offset(, 6) = InputBox("Qu'elle est votre commentaire", "COMMENTAIRES OBLIGATOIRE", "")
        End If
    End If
End Sub

Laurent78

XLDnaute Occasionnel
Bonjour,
une piste sans VBA en pièce jointe. Cela ne force pas le passage par la cellule commentaire, mais l'affiche en rouge. Si "Autres Transports", alors il doit être saisie dans la cellule autre chose que "à renseigner".
 

Pièces jointes

  • NDF_RD.xlsm
    25.6 KB · Affichages: 5

laurent950

XLDnaute Accro
Bonsoir @Sarah2308 , @Laurent78

A ajouter dans le module de la feuille. Feuil1 (NDF)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C14:C" & Cells(65536, 5).End(xlUp).Row)) Is Nothing Then
        If Target.Value = "Autres Transports" Then
            Target.Offset(, 6) = InputBox("Qu'elle est votre commentaire", "COMMENTAIRES OBLIGATOIRE", "")
        End If
    End If
End Sub
 

Pièces jointes

  • NDF_RD.xlsm
    27.3 KB · Affichages: 4

Sarah2308

XLDnaute Nouveau
Bonjour @laurent950 ,

Merci pour ta réponse, j'ai bien mis le code dans le module mais il ne se passe rien.
Soit je rate un truc, soit il y a une erreur dans le VBA.... Malheureusement, si c'est le cas je manque clairement de compétences pour le voir...
Pour compléter ça m'affiche une erreur de bloc if sans end if
Merci pour ton aide !
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 210
Messages
2 086 279
Membres
103 170
dernier inscrit
HASSEN@45