Cellule qui s'efface toute seule après 3 secondes

Fermé
Sebyyy - Modifié le 1 oct. 2020 à 07:13
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 14 oct. 2020 à 18:09
Bonjour,
Je créé un petit programme et je n'arrive pas à trouver mon bonheur...
J'utilise un fichier Excel, sur lequel j'utilise 2 feuilles différentes, 1 pour inscrire mes données et l'autre pour cacher des aspects afin de faire fonctionner mon programme. J'ai une zone de liste déroulante (dans ma première feuille où j'entre mes données) qui est reliée à une cellule (de ma feuille2) et j'aimerais que cette cellule s’efface toute seule après 3 secondes. Attention, la feuille2 je ne la touche pas (elle est masquée), donc, je ne peux pas faire "Enter" pour changer de cellule dans cette feuille. Je peux uniquement faire "Enter" dans ma feuille1 (où j'entre mes données).

On m'avait transmis ce procédé qui fonctionne uniquement si je fais "Enter" si je suis sur la feuille2 alors que je suis sur la feuille1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address = "$V$14" Then
Application.Wait Time + TimeSerial(0, 0, 3)
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End Sub

Je sais pas si je suis très compréhensible dans mes explications.

Merci d'avance pour votre aide.



Configuration: Windows / Chrome 85.0.4183.121

6 réponses

Yoyo01000 Messages postés 1639 Date d'inscription samedi 2 février 2019 Statut Membre Dernière intervention 7 mars 2022 165
1 oct. 2020 à 07:27
Bonjour,
Cette macro est dans quelle feuille ?

Dans ce code, il devrait y avoir des actions pour les 2 feuilles (enter en feuille 1 et clear en feuille 2) et ça n'est pas le cas

Ou alors j'ai mal compris le sujet !?

Il faudrait partager votre fichier, que je puisse mieux voir et aussi connaitre le nom des feuilles
0
Bonjour,

C'est parfaitement ça! La macro est dans ma feuille2 (MASQUE)

Ma feuille1 (CONTRÔLE) et ma feuille2 (MASQUE)
0
Yoyo01000 Messages postés 1639 Date d'inscription samedi 2 février 2019 Statut Membre Dernière intervention 7 mars 2022 165
Modifié le 1 oct. 2020 à 07:52
Dans ce cas, il faut déplacer la macro dans la feuille 1

Et si une action doit se réaliser dans la feuille 2, il faut ajouter :
With Sheets("MASQUE")
code
End With
0
sebyyy Messages postés 13 Date d'inscription dimanche 28 août 2016 Statut Membre Dernière intervention 29 décembre 2021
14 oct. 2020 à 12:35
Salut Yoyo,

Suite à ton dernier message, j'ai essayé mais cela ne fonctionne pas... c'est pourquoi j'ai changé un peu mon idée...

La macro fonctionne parfaitement, seulement il y a un soucis... je suis obligé d'aller dans la cellule "V14", selectionner le texte et faire "Enter" pour que celle-ci fonctionne.

Et ce que j'aimerais... c'est que cette cellule s'efface automatiquement après 3 secondes. Je pense que la macro ne s'effectue pas, parce que cette cellule est liée avec une toupie et bien sûr quand je clique sur ma toupie, le texte change mais je n'ai pas besoin de faire "Enter".

Je sais pas si tu as un code à me conseiller ?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address = "$V$14" Then
Application.Wait Time + TimeSerial(0, 0, 3)
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End Sub

Merci pour ton aide.
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
14 oct. 2020 à 15:45
Bonjour,

A chacune de tes réponses tu dévoiles un truc nouveau, le mieux est de créer un exemple de fichier anonymisé et le mettre à disposition en suivant cette procédure
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
Il existe aussi :
1) https://mon-partage.fr/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebyyy Messages postés 13 Date d'inscription dimanche 28 août 2016 Statut Membre Dernière intervention 29 décembre 2021
14 oct. 2020 à 16:29
Salut Mike,

Merci pour ta réponse. Voici le lien. Quelques indication s'y trouve dans le fichier afin de te diriger plus facilement.

Merci

https://www.cjoint.com/c/JJooCccUyjP
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié le 14 oct. 2020 à 18:17
Re,

Alors plusieurs choses,
soit tu enregistres ton classeur avec l'ancienne extension .XLS ou en .XLSM

ensuite dans le Visual Basic d'Excel ouvre un module (clic sur Insertion/Module)

colle ce code
Sub efface()
[H11] = ""
End Sub


dans les propriétés VBA de ta feuille, colle ce code

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$11" Then
Application.OnTime Now() + TimeValue("00:00:05"), "efface"
End If
End Sub


J'ai réglé le délai à 5 secondes.
pourquoi passes tu par une zone de liste difficile à piloter, passe directement par une lis te validation en H11

https://www.cjoint.com/c/JJoqjCzgPic
0