Message de saisi conditionnel

  • Initiateur de la discussion Initiateur de la discussion Eny
  • 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 !

Eny

XLDnaute Nouveau
Message de saisi conditionnel [Terminé]

Bonjour a tous,

Je croyais pouvoir récupérer la solution recherché dans un fichier présent sur ce forum, mais ce n'est pas exactement ce que je recherche.

Du coup, malgré mes nombreuses recherches, sur ce site et sur le net également, je n'ai pas encore trouvé mon bonheur.

Je souhaiterai faire apparaitre sur une cellule un "message de saisi" (similaire à un commentaire, mais qui se créé via Donnée / Validation puis onglet "Message de saisi") différent en fonction du contenu d'une autre cellule.

Exemple (pour un tableau de note de frais) :
Soit :
A1 un type de dépense, (sélection via une liste)
B1 le montant TTC de la dépense
C1 la TVA de la dépense
D1 le montant HT
...

Si A1 = "Péage", alors le message de saisi de C1 sera :"La TVA est récupérable si et seulement si elle est mentionné sur le ticket de péage et si la dépense à eu lieu sur la France"

Si A1 = "Pourboire", alors le message de saisi de C1 sera :"Il n'y a pas de TVA récupérable sur les pourboires"

Etc etc ...

Je viens de penser que je pourrai faire ceci via une RECHERCHEV ... Mais je ne voudrais pas "polluer" la feuille de saisie des notes de frais.

Sinon, si quelqu'un a une autre idée, je suis aussi preneur bien sur.

Merci à tous.

++

Julien
 
Dernière édition:
Re : Message de saisi conditionnel

Salut,

Peut etre en utilisant une macro évenemtielle (a placer dans le module de la feuille concernée) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
    Select Case Range("A1").Value
    Case "Péage"
        MsgBox "La TVA est récupérable si et seulement si elle est mentionné sur le ticket de péage et si la dépense à eu lieu sur la France"
    Case "Pourboire"
        MsgBox "Il n'y a pas de TVA récupérable sur les pourboires"
    [B][COLOR=green]'tu peux rajouter autant de Case que tu le souhaites[/COLOR][/B]
    End Select
End If
End Sub

@+
 
Re : Message de saisi conditionnel

Bonjour et merci pour ta réponse rapide !!

2 petites choses :

1) Dans le module, j'ai déjà intégré le code suivant :

Sub Bouton83_QuandClic()
Dim reponse As Integer
reponse = MsgBox("Veux-tu remettre à blanc le contenu de ta Note de Frais ?", _
vbYesNo + vbDefaultButton2 + vbExclamation, "Reset")
If reponse = vbNo Then End

Range("B8:L38, A4, A5, F2, D6, J49, K49, M49, N49").Select
Selection.ClearContents
End Sub

Je vais essayer de mettre ton code derrière, sinon, faut-il le placer d'une manière particulière stp ? (je ne suis pas trop familiarisé avec les modules ! :s)

2) Dans ton code, je ne vois pas comment le message de saisi va apparaitre à coté de la cellule C1 ? Je pense plutôt qu'il apparaitra sur la cellule A1, hors cette cellule à déjà un message de saisi.

Merci pour ton aide

EDIT :
Je suis arriver à insérer le code ... mais la procédure évènementielle ouvre une MsgBox ... et je souhaiterais avoir un message de saisi (comme une aide) toujours visible par l'utilisateur.
 
Dernière édition:
Re : Message de saisi conditionnel

Bonjour a tous

En attendant le code ne va pas dans un module mais dans la feuille

ALT+F11 et clic 2 fois sur la feuille et colle a droite

Pour la rep en C1 change cette parti:

MsgBox "La TVA est récupérable si et seulement si elle est mentionné sur le ticket de péage et si la dépense à eu lieu sur la France"

pour

Range("C1").Value="La TVA est récupérable si et seulement si elle est mentionné sur le ticket de péage et si la dépense à eu lieu sur la France"

A+

Temjeh
 
Re : Message de saisi conditionnel

Merci Temjeh.

J'avais trouvé ou il fallait mettre le code 😀
Par contre, après, avec le changement, ça ne marche plus ... 😕


Kjin,

Ton exemple est exactement ce que je recherche ... Sauf que j'aimerai un message de saisi à la place du commentaire.

Est-ce possible ?
Sinon, je me contenterai du commentaire.

Encore merci a tous.
 
Re : Message de saisi conditionnel

Donnée / validation / onglet "Message de saisi"

Ca ouvre comme un "texte info bulle" de windows, mais ce n'est pas un commentaire Excel.

C'est ce "texte info bulle", appelé "Message de saisi" dans Excel, que je souhaiterai faire apparaitre.

Julien
 
Re : Message de saisi conditionnel

Re,
Dans ce cas en reprenant le code de Porcinet
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
'limité à la colonne 2, entre les lignes 2 et 5
If Target.Column = 2 And Target.Row > 1 And Target.Row < 6 Then
    Select Case Target.Offset(0, -1).Value
        Case "Péage"
            MsgBox "La TVA est récupérable si et seulement si elle est mentionné sur le ticket de péage et si la dépense à eu lieu sur la France"
        Case "Pourboire"
            MsgBox "Il n'y a pas de TVA récupérable sur les pourboires"
            'tu peux rajouter autant de Case que tu le souhaites
    End Select
End If
End Sub
A+
kjin
 
Dernière édition:
Re : Message de saisi conditionnel

Je ne comprend plus trop

C'est ce que le premier code de porcinet faisait!

Met les deux un en dessous de l'autre:

MsgBox "La TVA est récupérable si et seulement si elle est mentionné sur le ticket de péage et si la dépense à eu lieu sur la France"
Range("C1").Value="La TVA est récupérable si et seulement si elle est mentionné sur le ticket de péage et si la dépense à eu lieu sur la France"

A+

Temjeh
 
Re : Message de saisi conditionnel

Je ne comprend plus trop

C'est ce que le premier code de porcinet faisait!

Met les deux un en dessous de l'autre:

MsgBox "La TVA est récupérable si et seulement si elle est mentionné sur le ticket de péage et si la dépense à eu lieu sur la France"
Range("C1").Value="La TVA est récupérable si et seulement si elle est mentionné sur le ticket de péage et si la dépense à eu lieu sur la France"

A+

Temjeh

En fait, le message de Porcinet ouvrait une dialbox ou il fallait cliquer sur OK.
Ce que je recherche, c'est juste un "texte info bulle" ou je pourrais donner des informations pour saisir des données, et qui reste apparent même quand on saisie des données dans le classeur.

Je vais essayer avec les codes que vous m'avez envoyé.

Merci encore.
 
Re : Message de saisi conditionnel

Re,
Dans ce cas en reprenant le code de Porcinet
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
'limité à la colonne 2, entre les lignes 2 et 5
If Target.Column = 2 And Target.Row > 1 And Target.Row < 6 Then
    Select Case Target.Offset(0, -1).Value
        Case "Péage"
            MsgBox "La TVA est récupérable si et seulement si elle est mentionné sur le ticket de péage et si la dépense à eu lieu sur la France"
        Case "Pourboire"
            MsgBox "Il n'y a pas de TVA récupérable sur les pourboires"
            'tu peux rajouter autant de Case que tu le souhaites
    End Select
End If
End Sub
A+
kjin

Mouarf ... c'est pareil ... ça ouvre une dialbox ... et pas un "message de saisi"
Le fichier que vous avez joint lors de votre première réponse conviendrait parfaitement. Je souhaiterai juste savoir comment faire apparaitre un "message de saisi" à la place du commentaire. Quel code faut-il mettre dans la fenêtre VB pour faire apparaitre un "message de saisi" ?
Si j'arrive à faire apparaître ce message de saisi via le VB, je pense que le tour est joué ! 🙂
 
Re : Message de saisi conditionnel

Re,
Comme Temjeh, message de saisie ne veut pas dire grand chose pour moi !
Les solutions proposées renvoie un message qq soit leur forme
Maintenant, s'il s'agit d' info bulle, à part le compagnon Office, je ne vois pas
Si c'est le cas, à adapter au code qui te convient le mieux et si bien sûr , tu as installé le compagnon en question, ce qui n'est pas mon cas, donc sans garantie.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$2" Then
Set Bulle = Assistant.NewBalloon
With Bulle
    .Icon = msoIconTip
    .Heading = "Message de Eny"
End With
Select Case Target.Offset(0, -1).Value
Case "Péage"
    Bulle.Text = "La TVA est récupérable si et seulement si elle est mentionné sur le ticket de péage et si la dépense à eu lieu sur la France"
    Bulle.Show
Case "Pourboire"
    Bulle.Text = "Il n'y a pas de TVA récupérable sur les pourboires"
    Bulle.Show
End Select
End If
End Sub
A+
kjin
 
Re : Message de saisi conditionnel

OK, merci pour vos réponses.

Je regarderai ultérieurement la dernière solution proposées.

Si vous voulez regarder vite fait à quoi ressemble un message de saisie, il suffit d'aller dans :
Donnée / Validation / puis onglet "Message de saisie"
Vous verrez alors a quoi ça ressemble. Ne serait-ce que par curiosité ... 😀

Encore merci à tous.

++
 
- 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
5
Affichages
421
Réponses
10
Affichages
347
Réponses
11
Affichages
248
Retour