Cherche aide pour mettre une macro dans un module

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

  • MacroDansModule.zip
    6.2 KB · Affichages: 34
  • MacroDansModule.zip
    6.2 KB · Affichages: 32
  • MacroDansModule.zip
    6.2 KB · Affichages: 33
G

Guest

Guest
Re : Cherche aide pour mettre une macro dans un module

Bonjour,

D'après ce que j'ai compris de ce que tu voulais faire.
La prochaine fois essaie d'être plus explicite.

Appeler la macro ColorierLignes

A+
 

job75

XLDnaute Barbatruc
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:

degap05

XLDnaute Impliqué
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

  • MacroDansModule.zip
    13.2 KB · Affichages: 32
  • MacroDansModule.zip
    13.2 KB · Affichages: 29
  • MacroDansModule.zip
    13.2 KB · Affichages: 27

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 263
Membres
103 498
dernier inscrit
FAHDE