Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Variation par clics successifs

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

Mickmagmicmac

Guest
Bonjour à tous,

je cherche désespérément à adapter ce code qui par simple clic copie un "V" et colorie la cellule en vert. (Puis recopie sur une autre feuille)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Target = "V"
Target.Interior.ColorIndex = IIf(Target.Interior.ColorIndex = xlNone, 4, xlNone)
Target.Copy Destination:=Feuil7.Range(Target.Address)
End Sub

Mon idée serait qu'au prochain simple clic, si il y a "V" alors la cellule deviendrait rouge avec un "N"
J'ai alors écrit :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target = "" Then
Target = "V"
Target.Interior.ColorIndex = IIf(Target.Interior.ColorIndex = xlNone, 4, xlNone)
Target.Copy Destination:=Feuil7.Range(Target.Address)
Else
If Target = "V" Then
Target = "N"
Target.Interior.ColorIndex = IIf(Target.Interior.ColorIndex = xlNone, 3, xlNone)
Target.Copy Destination:=Feuil7.Range(Target.Address)
Else
Target= ""
End If
End If
End Sub

Nul et surtout débutant, j'ai désespérément besoin d'aide.
D'avance merci, simple lecteur ou sauveur !

Mick
 
Re : Variation par clics successifs

Bonsoir Mick, bonsoir le forum,

Essaie comme ça :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target = "" Then
    Target = "V"
    Target.Interior.ColorIndex = IIf(Target.Interior.ColorIndex = xlNone, 4, xlNone)
    Target.Copy Destination:=Feuil7.Range(Target.Address)
ElseIf Target = "V" Then
    Target = "N"
    Target.Interior.ColorIndex = IIf(Target.Interior.ColorIndex = xlNone, 3, xlNone)
    Target.Copy Destination:=Feuil7.Range(Target.Address)
Else
    Target = ""
End If
End Sub
 
Re : Variation par clics successifs

Bonsoir,

j'avais posté mais le forum a été restauré et mon message a disparu !
Ainsi que celui de Papou-net ! Ouf j'ai pu le lire auparavant !

Donc je disais d'abord merci à Papou-net pour son code bien différent du If/Then/Else initial.
J'ai finalement opté pour ce code, sans vouloir vexer Robert qui m'a permis une avancée considérable.

J'ai ajouté une condition sur les colonnes et sur une cellule vide ou au contenu inadéquat, et j'ai adapté le code à mon fichier.
Voilà la version finale que j'utilise, inspirée du code fourni par Papou-net, j'y ai inséré quelques commentaires.
En espérant satisfaire les éventuels intéressés, simple retour après l'aide dont j'ai bénéficié.
Encore merci à Robert et Papou-net.

Mick

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$V$20" Then Exit Sub
If Target.Column > 20 Then Exit Sub

'par défaut les cellules contiennent NE (non évalué)
Select Case Target
Case Is = "NE"
Target = "V"
Target.Interior.ColorIndex = 4
'la cellule contient alors V (validé)
Case Is = "V"
Target = "NA"
Target.Interior.ColorIndex = 3
'la cellule contient alors NA (non acquis)
Case Is = "NA"
Target = "NE"
Target.Interior.ColorIndex = 0
Case Else
Exit Sub
'Ne rien faire si la cellule ne contient ni V ni NA ni NE
End Select
Target.Copy Destination:=Feuil7.Range(Target.Address)
Range("V20").Select
End Sub
 
- 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

Réponses
14
Affichages
484
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
589
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
1
Affichages
468
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…