Inputbox et liste déroulante [Résolu/Fermé]

Signaler
-
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
-
Bonjour,

J'ai un fichier dans lequel en cellule AC7 j'ai une liste déroulante de choix (ZC, ZG2, ZAB, ZYC.....) et j'aimerais que lorsque je choisi "ZG2" une boite de dialogue de type inputbox apparaisse automatiquement et que le résultat donné dans la inputbox soit retranscrit en cellule Y7. Je pense ne pas être trop loin de la solution mon seul problème c'est que la macro ne se lance pas automatiquement lorsque je fais ma sélection dans la liste déroulante :

Sheets("Temp").Activate

    nom = InputBox("Indiquez le numéro de facture affilié à l'avoir : ")

    If Range("AC7").Value = "ZG2" Then

        Call InputBox("numéro de facture")

    If nom = "" Then Exit Sub

    Range("Y7") = nom

End If

End Sub

5 réponses

Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
....
Pas de soucis , on a tous commencé un jour
je te joins un fichier avec le code pour exemple

https://mon-partage.fr/f/1IRGn5XO/

cdlt
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Merci le code marche désormais sauf que la macro se déclenche lorsque je clique sur la cellule or j'aurais voulu qu'elle ne se déclenche que lorsque je choisis dans ma liste déroulante le code "ZG2" si un autre choix que ce code est fait dans la liste la macro ne doit pas se déclencher... Je ne sais pas si c'est faisable?
Vici le fichier exemple peut-être que ce sera plus facile pour vous de voir ce que je désire. En tout cas merci encore pour votre aide.

https://mon-partage.fr/f/1o32P07Q/
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
Bonjour
Dans l'évenement
worsheets 
de la feuille "temp" colle le code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("Temp").Activate
nom = InputBox("Indiquez le numéro de facture affilié à l'avoir : ")
If Range("AC7").Value = "ZG2" Then
Call InputBox("numéro de facture")
If nom = "" Then Exit Sub
Range("Y7") = nom
End If
End Sub



cordialement
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
Bonjour
Oups!!! Autant pour moi
voilà le code corrigé
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("Temp").Activate
If Not Intersect(Target, Range("AC7")) Is Nothing Then
nom = InputBox("Indiquez le numéro de facture affilié à l'avoir : ")
If Range("AC7").Value = "ZG2" Then
Call InputBox("numéro de facture")
If nom = "" Then Exit Sub
Range("Y7") = nom
End If
End If
End Sub


cordialement
Tout d'abord merci pour votre aide. Cependant j'ai toujours un problème : je pense que votre codage est bon mais quand je lance la macro dans le visual basic il me demande de nommer ma macro et ne me permet pas de la lancer.. et bien sûr elle ne fonctionne donc pas dans le fichier... je suis débutant et donc c'est sûrement une erreur bête de ma part auriez-vous une idée pour me débloquer à nouveau?

Merci d'avance.
Cordialement,
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
Voilà le fichier modifié
dis moi si tout OK.
par contre je vois que AC7 remplacé par Z7!!!

https://mon-partage.fr/f/sIjfUwA3/

cdlt
C'est parfait merci beaucoup.
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
Parfait
si tout bon
merci de mettre résolu
Au plaisir
Merci pour votre réponse mais cela ne fonctionne pas totalement : au lieu de se déclencher lors du changement dans ma liste déroulante la macro se lance dès que je clique dans n'importe quelle cellule de la feuille...