1 ds cellule clickée, 0 dans les autres

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

M

mewtwo

Guest
Voila tout est dans le titre.
Je recherche un bout de code VBA qui, lorsque l'on clique sur l'une des cellules A1:J1, cette cellule prends la valeur 1, les autres la valeur 0.
 
Re : 1 ds cellule clickée, 0 dans les autres

Bonjour,

Essayer la macro suivante, à placer dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A1:J1]) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
[A1:J1].Value = 0
Target.Value = 1
End Sub

A+

Edit : une version plus simple, qui fonctionne même si l'on sélectionne plusieurs cellules :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(ActiveCell, [A1:J1]) Is Nothing Then Exit Sub
[A1:J1].Value = 0
ActiveCell.Value = 1
End Sub
 
Dernière édition:
Re : 1 ds cellule clickée, 0 dans les autres

Bonjour mewtwo et bienvenue sur XLD

Une solution par un double clic (à mettre dans le VBA de ta feuille):

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Intersect(Range("A1:J1"), Target) Is Nothing Then Exit Sub
Range("A1:J1") = 0
Target = 1
End Sub
@+

Edit : Bonjour job75!
 
Dernière édition:
Re : 1 ds cellule clickée, 0 dans les autres

Bonjour Mewtwo, bonjour le forum,

Dans un premier temps, comme je vois que tu es tout nouveau dans ce forum, je te souhaite la bienvenue et je te recommande vivement de lire la Lien supprimé. Cela te permettra d'obtenir des réponses plus rapidement...

Je te propose une macro événementielle à placer par VBA dans le composant WorkSheet correspondant a ton cas, (Feuil1(Feuil1) par exemple). j'ai préfére déclencher la macro non pas sur le clic (qui correspond aussi au déplacement) mais sur le double-clic.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELulle)
 
Set pl = Range("A1:J1") 'définit la variable pl
If Application.Intersect(Target, pl) Is Nothing Then Exit Sub 'si le doubleclic se fait ailleurs que dans la plage pl, sort de la procédure
 
Cancel = True 'empêche le mode édition lié au double-clic
pl.Value = 0 'attribue la valeur zéro a la plage pl
Target.Value = 1 'attribue la valeur 1 a la cellule double-cliquée
End Sub

Édition :

Salut Job, Sergio on s'est croisés...
 
Dernière édition:
Re : 1 ds cellule clickée, 0 dans les autres

Merci à tous de vos réponses rapides.
J'étais parti sur la solution de Job car je ne connaissait pas la suppression du mode edition lié au double clic.

Une derniere question : et si maintenant ce sont les cellules A10:J10 dans lesquelles je doit pler les 0 et le 1 ?
 
Re : 1 ds cellule clickée, 0 dans les autres

En fait je me suis mal exprimé !
J'ai en fait un tableau A1:J20 qui contient mes données. Le tableau A21:J40 contient les résultats du clic.
Lorsque je clic sur une de ces cellules (par ex : B2), toutes les cellules de la ligne 22(A22:J22)prennent 0 sauf B22 qui prend 1.
 
Re : 1 ds cellule clickée, 0 dans les autres

Re,

Essaie ce code:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Range("A1:J20"), Target) Is Nothing Then Exit Sub
Cancel = True
Range(Cells(Target.Row + 20, 1), Cells(Target.Row + 20, 10)) = 0
Target.Offset(20, 0) = 1
End Sub

@+
 
Dernière édition:
Re : 1 ds cellule clickée, 0 dans les autres

Re,

Si vous mettez des 0 seulement dans une ligne, il y aura après plusieurs clics plusieurs lignes avec des 1.

Si vous voulez un seul 1 dans le tableau A21:J40, il faut écrire :

Range("A21:J40") = 0
Target.Offset(20, 0) = 1

A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour