Ajouter ou effacer texte prédéfinis selon click dans cellule

Bonjour,

Je cherche un coup de main !

Dans le fichier ci-joint :

- quand je clique sur une cellule dans le range H10:H2000, alors la cellule se rempli avec un texte prédéfini ("Done")

- quand je clique sur une cellule dans le range I10:I2000, alors la cellule se rempli avec un texte prédéfini ("PARTIEL")

- quand je clique sur une cellule dans le range J10:J2000, alors la cellule se rempli avec un texte prédéfini ("NC")

Qu'on appellera le 1er bloc

Et la même fonction dans le range M:P avec d'autres textes.

Qu'on appellera le 2eme bloc

Ce que je voudrai, c'est que quand je clique dans une cellule du 1er bloc, alors le texte renseigne la case concernée (ça ça fonctionne)

et que si je clique sur une autre case de la même ligne, ça efface celle déjà remplie.

Idem pour le deuxième bloc.

J'ai cherché , j'ai trouvé des truc avec des if et des IIF, mais je ne trouve pas la solution, si quelqu'un peut m'aider ;)

D'avance merci !

10fichier-test.xlsm (17.47 Ko)

Bonjour

Avec votre fichier je ne vois où est votre problème. Ce que vous expliquez fonctionne. Aurais-je mal perçu votre demande ?

Cordialement

Bonsoir merci pour votre retour,

Chez moi, ça ne fonctionne pas ...

Je vais réexpliquer pour être plus clair :

Exemple : Quand je clique sur la case H10, "done!" s'inscrit dans la case.

Si je clique maintenant sur la case I10, "PARTIEL" s'inscrit dans la case.

Ce que je voudrait, c'est qu'en cliquant sur I10, non seulement il inscrive "PARTIEL", et en plus il efface "done!"

et pour le deuxième bloc, le range M10:P2000, idem.

En gros, peut importe ou on clique dans ces 2 bloc, ça efface toujours celui qui est déjà renseigné.

Je ne sais pas si c'est plus clair ?

Bonjour

Dans votre feuille Feuil1 du fichier tel que posté ici,
Point 1
. Remplacez votre code Private Sub Worksheet_SelectionChange(ByVal Target As Range) par celui ci-dessous

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub
Application.ScreenUpdating = False

If Not Intersect(Target, Range("m10:P1200")) Is Nothing Then
    Effacebloc2 Target
    Select Case Target.Column
        Case Is = 13: Target = "A FAIRE"
        Case Is = 14: Target = "FAIT"
        Case Is = 15: Target = "WARNING"
        Case Is = 16: Target = "QUESTION"
    End Select
End If

If Not Intersect(Target, Range("U10:U1200")) Is Nothing Then
    Target.ClearContents: Target = Range("Y1")
End If

If Not Intersect(Target, Range("h10:j1200")) Is Nothing Then
    Effacebloc1 Target
    Select Case Target.Column
        Case Is = 8: Target = "Done!"
        Case Is = 9: Target = "PARTIEL"
        Case Is = 10: Target = "NC"
    End Select
End If

Application.ScreenUpdating = True
End Sub

Rem : j'ai vu que vous utilisez la cellule Y1 mais dans votre fichier je n'ai rien dans cette cellule. Je l'ai laissé dans le code.

Point 2. En dessous du code ci-dessus, ajoutez ces deux codes

Sub Effacebloc1(Target As Range)
Range("H" & Target.Row & ":J" & Target.Row).ClearContents
End Sub

Sub Effacebloc2(Target As Range)
Range("M" & Target.Row & ":P" & Target.Row).ClearContents
End Sub

Si ok-->

Cordialement

Bonjour DAN,

Le top du top !

Je ne code pas depuis très longtemps, alors ton aide est vraiment super pour moi!

Dans le cas présent j'ai bien compris la méthode, très claire ;)

Merci beaucoup !

Excellente journée à toi ;)

Eric

Rechercher des sujets similaires à "ajouter effacer texte predefinis click"