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

Aide sur code VBA : macro rattachée à une cellule fusionnée

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

Mariejeanne

Guest
Bonjour

J'ai besoin d'aide sur cette macro. Je voudrais qu'à chaque fois qu'on sélectionne une cellule (cette cellule contient un filtre), d'autres cellules soient effacées. je ne veux pas de bouton macro mais vraiment affecter la macro à la cellule.

J'ai commencé à écrire :

Sub Macro()

'Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "cellule donnée - cellule fusionnée" Then
Range("cellule x").Select
Selection.ClearContents
Range("cellule y").Select
Selection.ClearContents

End If

'
End Sub

ça ne marche pas..pouvez vous m'aider ? merci
 
Re : Aide sur code VBA : macro rattachée à une cellule fusionnée

Bonjour l'adresse d'une cellule, c'est de la forme A1, ou B1 ou A2, ou Z10000, enfin c'est une série de lettres suivie d'un nombre. La lettre représente le n° de colonne et le nombre celui de la ligne. en tout cas, cela ne peut être cellule donnée - cellule fusionnée. Ta macro, si tu veux qu'elle réagisse à la modification d'une cellule dont tu connais l'adresse (par exemple la cellule D4), alors essaie ceci :

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$D$4" then Union(Range("cellule x"),Range("cellule y")).ClearContents
End If
End Sub

Par contre, si tu voulais plutôt que la macro se lance, lorsqu'on sélectionne une cellule qui contient cellule donnée - cellule fusionnée, alors essaie ceci :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Value = "cellule donnée - cellule fusionnée" then Union(Range("cellule x"),Range("cellule y")).ClearContents
End If
End Sub

A placer dans le module de ta feuille de calcul.
 
Re : Aide sur code VBA : macro rattachée à une cellule fusionnée

Salut Mariejeanne et le forum
ça ne marche pas..
Normal, ça n'a pas de jambes 😛

Petit rappel : il n'y a ni devin, ni télépathe sur ce site !
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(0,0) = "A1:C2" Then
        Range("D1").mergearea.ClearContents
         Range("G1").mergearea.ClearContents
End If
End Sub
Si la cellule fusionnée (de A1 à C2) est modifiée, on efface le contenu des cellules fusionnées (D1:F2) et G1:I2 (c'est hideux comme code).

Tu ne peux pas utiliser ce code en mettant le titre en commentaire et en ajoutant un autre titre : Il faut aussi définir ce qu'est Target, et lui donner une valeur.

À mon de faire partie de ceux qui confondent confidentiel et secret, tu as tout intérêt à faire un fichier d'essais (pas un fichier de travail, on ne compte pas apprendre à s'en servir) :
une feuille avec 5 ou 6 lignes, 5 ou 6 colonnes, sans données confidentielles,pour qu'on comprenne le problème.
A+
Edit : bienvenue
 
Dernière édition:
Re : Aide sur code VBA : macro rattachée à une cellule fusionnée

Merci Softmama,

merci pour tes explications. En effet, j'ai volontairement mis "cellule fusionnée" mais oui je sais qu'il faut que je renseigne la réf de cellule.
J'ai essayé ton premier code, et j'ai le message : end if sans bloc if ??

En fait, je veux suelement qu'à chaque fois qu'on sélectionne la cellule (cellule activée), les 2 autres cellules s'effacent automatiquement.
 
Re : Aide sur code VBA : macro rattachée à une cellule fusionnée

Merci Gorfael,

le code que tu m'as donné fonctionnes mais
je voudrais qu'à chaque fois que je sélectionne la celulle réf en target,

les deux autrres cellules s'effacent en automatique..

Ce n'est pas le cas....
 
Re : Aide sur code VBA : macro rattachée à une cellule fusionnée

Salut Mariejeanne et le forum
J'ai essayé ton premier code, et j'ai le message : end if sans bloc if ??
Petite erreur de syntaxe : je suppose que le code initial était sur deux lignes => syntaxe 2 de If, obligatoire, Et qu'il l'a modifié avec un Union() et donc ramené à la syntaxe 1 sur le forum (une seule instruction sur une ligne), et oublié d'enlever le End if.
A+
 
Re : Aide sur code VBA : macro rattachée à une cellule fusionnée

Help !!

Le code est ok par contre, je n'obtiens pas ce que je souhaite: à savoir la possibilité en juste sélectionnant la cellule d'avoir l'effacement d'autres cellules.
Là je suis obligée d'aller dans le menu macro et de l'activer...
 
Re : Aide sur code VBA : macro rattachée à une cellule fusionnée

re,

Merci à Gorfael de cette précision : il a bien senti ma façon de procéder. J'ai donc omis d'effacer les End if, ils sont inutiles et font planter le code : faut les virer.
Pour ne pas avoir à lancer ta macro manuellement, va dans l'éditeur VBE (alt+F11), sélectionne le module de ta feuille de calcul à gauche. A droite, dans la 1ère liste déroulante, choisis Worksheet et dans la seconde : SelectionChange et place le code là dedans.
 
- 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
3
Affichages
333
Réponses
32
Affichages
2 K
Réponses
6
Affichages
644
Réponses
4
Affichages
586
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…