effacer le contenu d'une cellule
Bonjour à tous,
Je vous remercie d'avance d'avoir pris le temps de venir sur ce poste.
Je vous donne ma démarche, ainsi votre aide sera plus facile si vous avez tous les éléments.
J'ai un fichier excel au format .xls
J'ai créé dans "A1" un menu déroulant (non applicable, non renseignée, oui, non) mais cela n'a pas forcément d'importance.
Dans "A2", il y a du texte que je masque avec cette condition SI(A1="oui";"précisez";"").
Dans "A3", il y a une valeur de type "texte" que l'utilisateur remplira si il voit dans "A2" le texte "précisez" qui s'affiche si "A1" est égale à "oui". De plus j'ai mise une mise en forme conditionnelle pour faire apparaitre une bordure sous la cellule.
Jusque là pas de soucis mais si l'utilisateur décide de changer et choisit autre chose que "oui" je souhaiterais que la cellule est son contenu effacer.
Attention j'insiste sur le terme "effacer" et pas de bidouillage de mise en forme conditionnelle pour changer la couleur de la police car si l'utilisateur change encore d'avis et met à nouveau "oui" je veux pas qui trouve son ancienne valeur.
Voilà mon problème, j'attends vos suggestions sur le problème car je sais pas du tout comment faire.
merci à tous.
impossible d'associé une macro à ma liste déroulante
Bonjour speed41,
je n'arrive pas à associé une macro ma liste déroulante comme vous me l'indiquez.
Je vais vous précisez ma version de excel et la manière dont j'ai construit ma liste déroulante.
version de excel : 2007.
liste déroulante : avec la validation de donnée (c'est peu être ça le problème).
Peut-on executer une macro appartir d'unclic dans la cellule "A3" ?
Merci j'attends votre réponse.
j'ai une solution qui fonctionne
Bonjour SPEED41, Bonjour à tous,
Je vous donne le code qui m'a permis de réaliser mon projet mais je sais pas encore à quoi sert les lignes de code de ce programme.
Attention, il faut mettre le programme ci-dessous dans la feuille excel qui contient les "A1", "A2" et "A3" (ex feuille1) dans le logiciel Microsoft VB.
Code:
1 2 3 4 5 6 7 8 9 10
|
Private Sub Worksheet_Change(ByVal Target As Range)
' je ne sais pas à quoi sert la ligne au dessus et la méthode utilisée désolé
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
' on controle que la cellule active est différente de "Oui"
' si la réponse est vrai alors le contenu de "A3" est effacer
If ActiveCell.Value <> "Oui" Then Range("A3").Value = ""
End If
End Sub |
PS: qui peut m'expliquer le haut du programme pour m'aider à comprendre ce que j'utilse, merci d'avance.
merci à tous.