Range("Q" & (ActiveCell.Row)) (mais pour colonnes) [Résolu]

Messages postés
52
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
29 avril 2019
-
Salut à toutes et à tous,

INTRODUCTION:
°°°°°°°°°°°°°°°°°°°°°
Sur Excel, j'ai monté un tableau des vacances.

Chaque ligne correspond à un employé et chaque colonne un jour de l'an. J'ai donc 365 colonnes. (Même si le tableau est très "large" cela ne pose pas de problème car une fois complété on l'imprime en format paysage sur un plotter et on l'affiche.

PROBLEME:
°°°°°°°°°°°°°°°°
Cependant il arrive souvent qu'on le consulte via Excel et comme avant beaucoup de lignes et colonnes, il est parfois difficile de se repérer quand on sélectionne une cellule. Certains utilisent même une règle ou un crayon contre l'écran pour sélectionner la bonne colonne.... ^^ (en mode homme de Cro-Magnon sur Excel ^^)

EXEMPLE:
°°°°°°°°°°°°°°°
Pour faciliter la tâche, j'ai créé une petite formule Excel combinée avec une Mise en forme conditionnelle (MFC) qui dit :

Exemple ci-dessous (s'applique à un fichier excel test et non pas au tableau de vacances, la plage est plus petite pour l'essai)

Dans le module "Feuil1":

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("E8:P34")) Is Nothing Then
Range("Q:Q") = ""
Range("Q" & (ActiveCell.Row)) = 1
End If

End Sub


-> En gros a chaque changement de sélection de ligne, un repère "1" s'indique dans une colonne cachée parallèle en supprimant la précédente.

-> Ce "repère" est repris par une MFC qui défini que si la cellule =1 alors la ligne complète de mon tableau se teinte en jaune.

-> Ainsi, dès qu'on sélectionne une cellule, toute la ligne se met en surbrillance, permettant ainsi à l'utilisateur de voir visuellement quelle ligne il a sélectionné.



QUESTION:
°°°°°°°°°°°°°°°°
Maintenant, j'aimerai en faire de même pour les colonnes... Donc à chaque fois que je sélectionne une cellule, c'est la colonne entière qui se teinte en jaune du même principe que c'est le cas pour la ligne.

En gros, quand je sélectionnerai une cellule, j'aurai donc un "croisement" de couleurs dont l'intersection est la sélection.

Pourriez-vous donc m'éclaircir sur la manière de rédaction du code VBA ? Donc uniquement pour la partie "colonnes".

J'ai déjà tenté de programmer le code VBA mais j'ai quelque chose qui cloche dedans...


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("E8:P34")) Is Nothing Then
Row(7) = ""
Row(7 & (ActiveCell.Column)) = 1
End If

End Sub





CONCLUSION:
°°°°°°°°°°°°°°°°°°°°°°

Voilà mon soucis.... Est-ce que quelqu'un aurait il la solution ? Je sais que c'est la sélection par "column" que je sais pas faire...

Pour la ligne c'est range("Q" & activecell.row

mais pour la colonne je fais comment ? range(7 & (activecell. column ? ? ?



:-/



Merci de votre précieux coup de pouce ;)












Configuration: Windows / Firefox 66.0
Afficher la suite 

1 réponse

Messages postés
26817
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 novembre 2019
1891
0
Merci
Bonjour,

cells(7, Activecell.Column) = 1


Cordialement,
Jordane
meaurysse
Messages postés
52
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
29 avril 2019
-
Bonjour Jordane45,

Je vous remercie infiniment pour votre réponse, c'est exactement ce que je recherchais !! Cela fonctionne parfaitement comme souhaité :)

Merci de m'avoir éclairci ! <3
Commenter la réponse de jordane45