VBA Sélection et modification de cellules avec InputBox

Bonjour,

Mon problème est assez simple mais pourtant je ne parviens pas à trouver une solution. J'ai deux colonnes avec des titres d'un côté et des numéros de l'autre. Certains de ces chiffres sont faux et je voudrais créer une macro qui demande à l'utilisateur de l'Excel avec une InputBox quelle valeur il souhaite rentrer à la place de la précédente en fonction d'un critère que j'aurai choisi. Le message dans l'InputBox devrait aussi contenir (si possible, ce n'est pas le plus important) le titre associé à la valeur.

Dans l'exemple suivant, je veux que la macro identifie directement tous les produits à 3€ (le critère que je choisis) et demande dans deux InputBox "Quel prix pour les [Pommes] ?", puis "Quel prix pour les [Melons ?]" et modifie les prix avec la valeur que je rentre.

Merci beaucoup !!

Pomme5
Fraise

3

Melon3
Poire2

Bonjour,

Un code générique à adapter :

Sub MAJ_prix()

Dim Lig As Long, Produit As String, Prix As Single

Produit = InputBox("Quel est le produit à mettre à jour ?", "Produit", "Pomme")
Prix = InputBox("Quel est le nouveau prix des " & Produit & "s ?", "Prix")
With Sheets("NomFeuille") 'Précise la feuille de travail
    For Lig = 2 To .Range("A" & Rows.Count).End(xlUp).Row ' Boucle sur les lignes complétées
        If .Range("A" & Lig) = Produit Then .Range("B" & Lig) = Prix 'Remplacement des prix sur le produit indiqué
    Next Lig
End With
MsgBox "Mise à jour terminée !"

End Sub

L'InputBox produit peut être remplacé par une liste déroulante dans une cellule pour le choix du produit, préalable à l'exécution de la macro, ou un UserForm contenant une liste déroulante.

Merci beaucoup pour la réponse mais le programme ne correspond pas exactement à ce que j'attends, je vais donc expliquer concrètement ce que fait mon programme. Sur une colonne A j'ai une liste de contrats, sur une colonne C j'ai le numéro du contrat associé. Pour plusieurs contrats, le numéro n'est pas le bon et je voudrais que ma macro demande à l'utilisateur de choisir parmi un liste déroulante le nom du contrat qu'il souhaite modifier et qu'il rentre le numéro de contrat correcte dans une InputBox qui effectue la modification.

Et en quoi ça ne correspond pas ? Au lieu de produit on parle de contrat, et au lieu de prix de numéro, mais le principe est le même...

Super ça fonctionne, un grand merci !!!

Rechercher des sujets similaires à "vba selection modification inputbox"