Cherche aide pour mettre une macro dans un module

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

degap05

XLDnaute Impliqué
Bonjour,

Je souhaiterais déplacer cette macro de mes feuilles (15), vers un module.

De plus si vous la testez, vous verrez qu'il est difficile de supprimer des données, en sélectionnant puis "Suppr".

Si vous avez la solution pour permettre d'effacer simplement sans déclencher la macro, ce serait parfait.

Merci.
 

Pièces jointes

Re : Cherche aide pour mettre une macro dans un module

Bonjour,

A tester :

1) Dans le code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Call MaMacro(Target)
End Sub

2) Dans le module :

Code:
Sub MaMacro(Target As Range)
Application.EnableEvents = False
'-------------------------------les lignes de code
Application.EnableEvents = True
End Sub

A+

Edit 1 : salut Hasco, ah là là, désolé, pas rafraichi !

Edit 2 : pas vu le travail d'Hasco, mais plutôt que mettre la macro dans un module, ne serait-il pas plus simple de la mettre dans ThisWorkbook pour qu'elle s'applique à toutes les feuilles ? Dans ce cas écrire la 1ère ligne :

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 
Dernière édition:
Re : Cherche aide pour mettre une macro dans un module

Bonjour,

A tester :

1) Dans le code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Call MaMacro(Target)
End Sub

2) Dans le module :

Code:
Sub MaMacro(Target As Range)
Application.EnableEvents = False
'-------------------------------les lignes de code
Application.EnableEvents = True
End Sub

A+

Edit 1 : salut Hasco, ah là là, désolé, pas rafraichi !

Edit 2 : pas vu le travail d'Hasco, mais plutôt que mettre la macro dans un module, ne serait-il pas plus simple de la mettre dans ThisWorkbook pour qu'elle s'applique à toutes les feuilles ? Dans ce cas écrire la 1ère ligne :

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Bonsoir Hasco, job75,

J'ai aussi d'autres feuilles non identiques dans ce classeur.
J'ai voulu mettre ma macro dans un module, pour tester.

Je ne cherche pas un fonctionnement différent de ma macro d'origine.
Au moyen d'un userform, j'envoie des données dans la colonne C à la colonne L, sur une ligne que je sélectionne au préalable, directement sur la feuille.
La macro envoie un "X" en colonne B et colore la ligne de B à L.
Je peux être amené à supprimer d'anciennes données.
Je sélectionne une plage de cellules sur la feuille + Sppr et le résultat n'est pas bon. Il faudrait simplement que les données soient supprimées et que supprime le remplissage bleu.
Je vous joins le fichier avec un exemple, pour visualiser mieux.

Merci.
 

Pièces jointes

- 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

Réponses
20
Affichages
1 K
Retour