Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Le même code sur plusieurs feuilles

3 réponses
Avatar
Guy72
Bonjour à tous,

J'ai une feuille de code pour le mois de Janvier.
Je voudrais utiliser la même feuille de code sur les 11 feuilles suivante
( Février, Mars etc........).
Est il possible d'utiliser le code du mois de Janvier pour tous les autres
mois, ou faut il faire une feuille de code pour chaque mois ?

Cordialement
Guy

3 réponses

Avatar
Philippe
Bonjour,
Il faut tou simplement créer une fonction/procédure personnalisée dans un
module vb et y faire appel dans toutes les feuilles excel, mais l'évenement
qui déclenche le code doit bligatoirement se trouver dans la feuille
sélectionnée.
Bon courage.
Avatar
Guy72
Bonjour,
Je comprend la marche à suivre, mais j'avoues que je ne sais pas comment
faire.
Dans la feuille de code de Janvier, j'ai :

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("E3:E70")) Is Nothing Then Exit Sub

On Error GoTo Fin

If Target = "Impôts" Then
Range(Cells(Target.Row, 6), Cells(Target.Row,
1)).Interior.ColorIndex = 16
Range(Cells(Target.Row, 6), Cells(Target.Row, 1)).Font.ColorIndex =
2
Exit Sub
End If

Et ainsi de suite.........chaque mot entre guilmets donne une ligne de
couleur différente.(total 20)
--
Cordialement
Guy

"Philippe" a écrit dans le message de
news:
Bonjour,
Il faut tou simplement créer une fonction/procédure personnalisée dans un
module vb et y faire appel dans toutes les feuilles excel, mais
l'évenement
qui déclenche le code doit bligatoirement se trouver dans la feuille
sélectionnée.
Bon courage.


Avatar
Philippe
En fait il faut écrire le code suivant dans chaque feuille :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Module1.Mise_En_forme_Auto Target
End Sub

Et créer un module vb nommé module1 dans lequel on écrit le code suivant :
Sub Mise_En_forme_Auto(ByVal Plage As Range)
Dim Msg As VbMsgBoxResult
Const Color1 As Integer = 16
Const Color2 As Integer = 2
If Intersect(Range, Range("E3:E70")) Is Nothing Then Exit Sub

On Error GoTo Gest_Erreur

If Plage = "Impôts" Then
Range(Cells(Plage.Row, 6), Cells(Plage.Row, 1)).Interior.ColorIndex
= 16
Range(Cells(Plage.Row, 6), Cells(Plage.Row, 1)).Font.ColorIndex = 2
End If
Exit Sub

Gest_Erreur:
Msg = MsgBox("Erreur dans la procédure XXXXX", vbOKOnly + vbCritical,
"PROCEDURE XXXX2", Err.HelpFile, Err.HelpContext)
End Sub

Les constantes pour les couleurs sont modifiables évidemment et le message
d'erreur peut être personnalisé...
Bon courage