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

Effacer cellule quand une autre change

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 !

apnart

XLDnaute Occasionnel
Bonjour,

Je viens de "transpirer durement" sur des listes déroulantes en cascade, mais j'y ai enfin réussi grâce aux infos trouvées ici... YES ! (bien que je n'ai pas tout compris dans les syntaxes...)

Maintenant, j'ai encore un soucis, Je voudrais que lorsque la valeur de ce qu'il y a dans la 1ère liste change, la 2ème s'efface.

En gros :
1ère liste : Choix d'un Pays
2ème liste : Choix d'une Région

Actuellement, quand je change de pays, la région précédemment sélectionnée reste visible... imaginez la Bretagne en Allemagne... pas cool...

Vous auriez des idées ?

Merci à vous.
 
Re : Effacer cellule quand une autre change

Chose très étrange, effectivement mon essai.xls fonctionne...

En fait, s'il est le seul ouvert, il fonctionne, dès que j'ouvre mon autre xls (le gros), du coup ça ne marche plus pour essai.xls...

Il y a donc quelque chose dans mon gros fichier qui bloque tout ça :-((
 
Dernière édition:
Re : Effacer cellule quand une autre change

Re,

Après avoir reproduit le cas (cellules fusionnée puis séparées), à partir de tes essais, pour que cela fonctionne de nouveau correctement. Il a fallu que je supprime les cellules pour les recréer.

De plus comme une erreur s'était levée entre les lignes
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents=False
....
... code qui a produit une erreur
...
Application.EnableEvents=True
End Sub

Dans la fenêtre d'exécution de l'éditeur VBE il a fallut que je remette
Application.EnableEvents=True.

Pour eviter ce genre d'erreur, écrit cette procédure de la façon suivante:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
[COLOR=red]on Error Resume Next[/COLOR]
Application.EnableEvents = False
If Target.Address = "$B$3" Then Range("C3").ClearContents
If Target.Address = "$E$3" Then Range("F3").ClearContents
Application.EnableEvents = True
If Target.Address = "$B$3" Then MsgBox "La valeur de B3 a changé, C3 devrait s'effacer"
If Target.Address = "$E$3" Then MsgBox "La valeur de E3 a changé, F3 devrait s'effacer"
End Sub

Afin que s'il y a une erreur d'exécution, la gestion des évènements soit rétablit.

Sinon, je vois pas...

A bientôt
 
Re : Effacer cellule quand une autre change


Il y a forçément quelque chose dans mon fichier de départ qui bloque, car sans rien changer à essai.xls, il ne marche pas quand l'autre est ouvert, sinon, il marche très bien 🙁
 
Re : Effacer cellule quand une autre change

🙁 Personne ne veut essayer de reproduire mon soucis, malgré que le "gros" excel ne soit pas ici ? 🙁

Peut-être un pb de code incompatible en 2007 et 2003 ?
 
Re : Effacer cellule quand une autre change

J'ai testé et eu la même erreur, mais Hasco a raison :
****
De plus comme une erreur s'était levée entre les lignes
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents=False
....
... code qui a produit une erreur
****

J'ai mis un ' devant les lignes Ap.Enable..., et ça fonctionne bien maintenant.

Essaie et dis nous.
@+
 
Re : Effacer cellule quand une autre change

🙁 Arghhh....

J'ai ce code :

Donc ajouté la ligne "on error" et les ' devant app..

et ça ne fonctionne toujours pas quand mon autre fichier est ouvert...

J'ai d'ailleurs essayé cette même modif dans mon autre fichier et c'est pareil 😡
 
Re : Effacer cellule quand une autre change

Re :
Tu as sauvegardé les fichiers,
tu as fermé Excel, ????
tu ouvres Essai => ça marche
tu ouvres Bigfichier => ça marche plus

si tu as fais TOUT ça, c'est qu'il y a dans une des macros exécutée à l'ouverture du gros fichier un code du type "Application.EnableEvents = False"
qui s'exécute.

Est il possible/envisageable d'avoir juste 2 lignes de ton gros fichier avec les macros dedans ( quitte à mettre au préalable des données bidons)?

@+
 
Re : Effacer cellule quand une autre change

J'ai commencé à mettre des ' devant toutes les macros du workbook et de chaque feuille... toujours pareil.

Il me reste 3 modules auquels je n'ai pas touché... le soucis doit venir de là.

Module CopiesCellules

Module Developpement

Module Fonctions

Vous voyez une incompatibilité potentielle là dedans ? 😕
 
Re : Effacer cellule quand une autre change

Je viens de supprimer les 3 modules et de les réincorporer 1 à 1, celui qui pose problème est celui dans lequel j'ai mis une fonction :


Cette fonction me permet en fonction de 2 cellule sur ma feuille de saisie, de trouver l'intersection de ces 2 données dans une autre feuille...

Des idées sur des soucis de ce code ?
 
Re : Effacer cellule quand une autre change

J'ai trouvé !

J'avais nommé ma fonction "InterSec", je viens de lui donner un autre nom et ça marche... ce mot là doit être déjà utilisé par excel 2007 alors qu'il ne l'était pas sous 2003 😱

Si vous pouviez me confirmer cet avis, ça serai cool.

Merci encore LPandre et Hasco pour votre aide 😎
 
Re : Effacer cellule quand une autre change

Pour en revenir au sujet de départ, je souhaite tout de même pouvoir effacer des cellules fusionnées...

Donc voir si une cellule fusionnée change de valeur, et si oui, en effacer une autre...

J'ai cru comprendre d'après ce qu'a écrit Hasco que ça pouvait poser problème, mais n'y a-t'il tout de même pas un moyen ? 😱

Dans le fichier attaché, j'ai mon essai avec et sans cellule fusionnée... (voir les cases Unique et Multiple)

Un p'tit coup de main siouplais 😱
 

Pièces jointes

Re : Effacer cellule quand une autre change

Bonjour Apnart,

Voici ton fichier exemple sur lequel le clearcontents fonctionne sur cellules fusionnées. Tester sur officeXP(2002) et office 2007

Sans garantie pour l'adaptation à ton fichier d'origine. Tout programmeur de macro te dira que VBA n'aime pas du tout les cellules fusionnées. C'es toujours le foutoir lorsqu'il faut apporter une modification à une cellule fusionnée par macro ; même en passant par les méthodes unmerge et merge.

A bientôt et bon week-end
 
- 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

Discussions similaires

J
Réponses
6
Affichages
2 K
J
G
Réponses
2
Affichages
1 K
galoma
G
S
  • Question Question
Réponses
7
Affichages
2 K
SebastienF
S
J
Réponses
12
Affichages
2 K
Jacques
J
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…