Indication colonne active

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

Bremic83

XLDnaute Occasionnel
Bonjour à tous.

Mes connaissances en langage VBA étant quasi nulles,je n'arrive pas à obtenir le résultat souhaité,alors,je vous appelle à l'aide.

La macro,çi-dessous,indique par en-tête rouge,la colonne sélectionnée.
Je voudrais étendre son action.
La colonne est composée des cellules 25 à 35,et la sélection se fait par clic
sur une cellule de cette colonne.
Actuellement,cette action se limite à la cellule 25,et je voudrais,en plus,par la même manip :
a) enlever la couleur de remplissage des cellules de 28 à 35,de la colonne choisie.
b) colorer la cellule 27 ainsi : police en bleu très foncé,remplissage en jaune citron.

Merci d'avance à tout intervenant.

A plus

Bremic83



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("D25:O35")) Is Nothing Then Exit Sub
'enlève la couleur en ligne 1
Range("D25:O25").Interior.ColorIndex = xlNone
' colorie la ligne 1 de la colonne active
Cells(25, Target.Column).Interior.ColorIndex = 3
End Sub
 
Dernière édition:
Re : Indication colonne active

Salut Bremic,
ce code doit faire l'affaire....
Bruno

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("D25:O35")) Is Nothing Then Exit Sub
'enlève la couleur en ligne 1
Range("D25:O25").Interior.ColorIndex = xlNone
' colorie la ligne 1 de la colonne active
Cells(25, Target.Column).Interior.ColorIndex = 3
Range(Cells(28, Target.Column), Cells(35, Target.Column)).Interior.ColorIndex = xlNone
Cells(27, Target.Column).Interior.ColorIndex = 6
Cells(27, Target.Column).Font.ColorIndex = 49
End Sub
 
Re : Indication colonne active

Bonjour à tous

Une nouvelle fois,je viens faire aux spécialistes de la macro.
J'utilise celle enregistrée sur l'enregistreur Excel,et copiée çi-dessous,( un extrait sur trois colonnes,mais il y en a douze )
Je pense qu'il y a certainement un moyen plus simple,pour arriver au même résultat.
Merci à celui qui me le communiquera.

A plus

Bremic83


Sub Macro3()
'
' Macro3 Macro
'
' Touche de raccourci du clavier: Ctrl+r



Range("D27").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 6299648
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
With Selection.Font
.Color = -16711681
.TintAndShade = 0
End With
Range("D28😀35").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.799981688894314
.PatternTintAndShade = 0
End With


Range("E27").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 6299648
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
With Selection.Font
.Color = -16711681
.TintAndShade = 0
End With
Range("E28:E35").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.799981688894314
.PatternTintAndShade = 0
End With

Range("F27").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 6299648
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
With Selection.Font
.Color = -16711681
.TintAndShade = 0
End With
Range("F28:F35").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0.799981688894314
.PatternTintAndShade = 0
End With
Range("A28").Select
End Sub
 
Re : Indication colonne active

Bonsoir le fil, Bremic83

Par exemple (si je n'ai rien oublié) :
Code:
Sub b()
 
    With Range("D27:F35")
    
        [B][COLOR="#008000"]' Propriétés communes à tout le tableau[/COLOR][/B]
        With .Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .PatternTintAndShade = 0
        End With
        
        [B][COLOR="#008000"]' Propriétés spécifiques aux cellules de l'entête du tableau[/COLOR][/B]
        With .Resize(1)
            With .Interior
                .Color = 6299648
                .TintAndShade = 0
            End With
            .Font.Color = -16711681
        End With
        
        [B][COLOR="Green"]' Propriétés spécifiques au reste des cellules du tableau[/COLOR][/B]
        With .Offset(1).Resize(8).Interior
            .ThemeColor = xlThemeColorAccent1
            .TintAndShade = 0.799981688894314
        End With
        
   End With
   
End Sub
A plus
 
Re : Indication colonne active

Bonjour soenda

Une nouvelle fois,tu viens à mon secours,et je t'en remercie très sincèrement.
Je ne sais si je suis bouché,mais je n'ai pas réussi à faire fonctionner ta macro.
Tout d'abord,je l'ai mise dans : visualiser le code de l'onglet développeur,résultat néant.
J'ai tout effacé,et copié dans la fenêtre vba d'une macro créée,avec bouton de commande: idem comme résultat.
Je l'ai alors rajoutée dans la macro de la sélection de colonne,élaborée par youky(BJ)
sans plus de succès !
Il est probable que je n'ai pas exécuté les bonnes manips
Peux tu éclairer ma lanterne ,s'il te plait ?
Merci.
Cordialement

Bremic83
 
Re : Indication colonne active

Bonsoir Bremic,
La macro proposée pae soenda est à mettre dans un module
Si tu n'en as pas faire Insertion Module
Pour l'appeler il faut la lancer par outils/macro et executer "b"
Par contre tu peux renommer b qui n'est pas parlant, ou si tu veux l'appeler de ma macro
en événement change en bas de macro tu écris ..... b
cela suffit.
Bruno
 
Re : Indication colonne active

Bonsoir Youky(BJ)

Merci des renseignements,je vais de préférence,essayer la dernière solution,mais n'étant pas disponible ce soir,mes essais ne seront tentés que demain.
Si j'échoue,je rappellerai au secours.
Encore merci,et,à plus

Bremic83
 
Re : Indication colonne active

Bonjour Youky(BJ) et soenda.
Excusez moi de revenir vous solliciter ,toujours sur le même problème.
Je rencontre,à l'usage,un inconvénient qui m'a paru négligeable,a priori,
mais qui s'avère gênant dans le travail : c'est la colorisation des 12 colonnes simultanément,par la macro b.
Pour obtenir une sélection de la colonne désirée,j'ai cherché à adapter la
macro de Youky,d'abord en réduisant la commande de son action,à la plage
D25 à O25,et ça marche.
Ensuite,j'ai voulu commander une action similaire,par la ligne D27 à O27
agissant sur la plage D27 à O35,coloriant les cellules comme le fait la macro
élaborée par soenda.
Là,je coince. Je dois oublier une manip,ou une mention telle que End If,ou End With,ou autre,car je n'obtiens que des erreurs de compilations.
Soyez indulgents SVP ! Je pèche par ignorance,c'est pourquoi je vous rappelle au secours.

A plus

Cordialement

Bremic83
 
Re : Indication colonne active

Salut,
Je suis pas sur du tout d'avoir compris ta demande
voici donc comme je vois la chose
Test seulement cette macro.
Bruno

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("D25:O25")) Is Nothing Then Exit Sub
Range("D25:O35").Interior.ColorIndex = xlNone
Target.Interior.ColorIndex = 3
Target.Offset(2).Interior.Color = 6299648
Target.Offset(3).Resize(8).Interior.ColorIndex = 37
End Sub
 
Re : Indication colonne active

Bonsoir Youky
Je me suis mal exprmé,.
Je résume : Ta première macro,du 1er mars correspond bien à ce que je veux faire,donc,on la conserve.
Ce que je voudrais,c'est,par le même procédé,sélectionner une colonne,à partir de la ligne D27,O27,agissant sur la colonne choisie,en lui donnant les couleurs Bleu foncé ligne 27,et bleu clair sur les lignes 28,à 35,et ceci sur la plage D27 à O35,seule la colonne sélectionnée variant de couleur.
Les deux actions groupées dans la même macro.(c'est là que je me mélange les pédales)
J'espère être clair .

A plus
Merci

Bremic83
 
Re : Indication colonne active

Bonsoir soenda
Ce dernier envoi,correspond à ce que je veux mettre en place,le problème,c'est que lorsque je veux le mettre dans le code,j'ai une erreur de compilation,car la ligne ci-dessous,figure déjà dans la macro de YoukY(BJ)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

je voudrais commander l'action des deux macros,dans le même code,la sélection Youky,
par clic sur la colonne choisie dans la cellule correspondante sur la ligne D25,O25, et
La sélection que tu m'as envoyée ce soir,par clic sur cellule ligne D27,O27.

Merci,et,à Plus

Bremic83
 
Dernière édition:
- 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
4
Affichages
521
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
0
Affichages
657
Retour