XL 2013 [Resolu] macro - transformation "X" en données

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 !

ABCD2008

XLDnaute Nouveau
Bonjour à tous,

j'aurais une petite interrogation. Je m'explique :
J'ai une liste de personne qui peuvent choisir entre 6 options.
A chaque option correspond un prix

Option A : 1€
Option B : 2€
Option c : 3€
etc.

J'ai donc un tableau avec le nom des personnes et je coche l'option qu'il souhaite en inscrivant un "x".

cf. excel joint

J'aimerais que ce "x" se transforme en tarif (1€ si la colonne Option A est cochée)

J'ai trouvé cette macro mais je n'arrive pas à l'adapter à mon cas (novice novice...). Cela fonctionne pour une option, je bloque pour l'adapter à mes 6 options.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [plage1]) Is Nothing Then Exit Sub
If UCase(Target) = "X" Then Target = [A1].Offset(0, Target.Column - 1)
End Sub

Pouvez-vous m'aider ?
Je vous remercie !!
 

Pièces jointes

Hello

esssaie avec ce code
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Intersect(Target, [plage1]) Is Nothing Then
    Exit Sub
    Application.EnableEvents = True
End If
If UCase(Target) = "X" Then Target = [K1].Offset(1, Target.Column - 2)
Application.EnableEvents = True
End Sub


J'ai oublié de préciser..
Plage1 est le nom donné à la zone de ta feuille qui contient les x
 
Dernière édition:
Bonjour
Un code à tester
Code:
Dim Flag As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dl1 As Long ' dernière ligne
Dim Col As Range
If Flag = True Then Exit Sub

dl1 = Sheets(Target.Worksheet.Name).Cells.SpecialCells(xlCellTypeLastCell).Row
If Not Intersect(Target, Range("b1:G" & dl1)) Is Nothing Then
    Flag = True
    if Ucase(Target) = "X" then Target=Target.Column-1
End If
Flag = False
End Sub

A tester

JP14
 
Bonjour vgendron,
merci pour l'adaptation. Par contre, excuse-moi mais je ne comprends pas comment je eux mettre mes 6 options ? Cela marche pour une, mais pour les autres ? La [plage1] de ta macro correspond bien à la colonne "Option A" ?

Bonjour JP14,
J'ai essayé de mettre ta macro mais je t'avouerai que je ne sais pas ce qu'il faut que je modifie ou complète pour l'adapter à mon fichier (je suis vraiment novice, j'ai besoin qu'on me mâche tout tout tout...)

Merci à vous 2 !
 
D'accord, merci vgendron.
Je comprends mieux et cela fonctionne !

Un petit questionnement cependant : j'avais fait un essai et coché plusieurs cellules.
J'ai voulu tout effacer pour reprendre à 0.
Si j'efface cellule par cellule, ça fonctionne. Par contre, si je sélectionne une plage et que j'efface donc en masse, ça fait buguer la macro et ça m'ouvre le débugueur.

Normal ?
 
- 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
4
Affichages
441
Retour