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 !

eliot raymond

XLDnaute Occasionnel
EL 2007 vba Bonjour a tous et toutes, forum bonjour

Voila je cherche a faire une règle translucide de repère. voyez une image ci-joint de ce je souhaiterai svp.

La plage de travail serai de A2:J27 qui monte et descend avec la souris ou le plus moyen le plus utiliser, la je ne sais pas trop.

Si quelqu'un sait faire ce genre de barre en vba, je suis preneur.

Merci a vous et malgré la pluie bonne journée

Raymond
 

Pièces jointes

  • Regle de repere.jpg
    Regle de repere.jpg
    6.4 KB · Affichages: 109
Re : Regle de repere

Bonjour,

Une piste avec les codes suivants

1) code à copier dans un module Standard (adaptez à votre usage la constante MA_PLAGE cernée par des ###)
Code:
'#################################################
'### Constante de la plage concernée à adapter ###
Const MA_PLAGE As String = "a2:j27"
'#################################################

Public ActivationRegle As Boolean
Dim OldRange As Range
Dim OldColor(1 To 10)

Sub Activer_Regle()
ActivationRegle = True
End Sub

Sub Desactiver_Regle()
ActivationRegle = False
Call RegleRepere
End Sub

Sub RegleRepere(Optional dummy As Byte)
Dim Plage As Range
Dim R As Range
Dim C As Range
Dim i&
If Not OldRange Is Nothing Then
  For Each C In OldRange
    i& = i& + 1
    If OldColor(i&) <> "" Then
      C.Interior.ColorIndex = OldColor(i&)
    End If
  Next C
End If
If Not ActivationRegle Then Exit Sub
Set R = Range(Selection.Address)
Set Plage = Range(MA_PLAGE)
Set R = Application.Intersect(R, Plage)
If Not R Is Nothing Then
  Set R = Range(Cells(R.Row, Plage.Column), _
      Cells(R.Row, Plage.Columns.Count + Plage.Column - 1))
  i& = 0
  Set OldRange = R
  For Each C In R
    i& = i& + 1
    OldColor(i&) = C.Interior.ColorIndex
    C.Interior.ColorIndex = 34
  Next C
Else
  Set OldRange = Nothing
End If
End Sub

2) code à copier dans la fenêtre de code de la feuille concernée
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call RegleRepere
End Sub

Dans la boîte de macros vous pourrez voir la macro Activer_Regle. Lancez la pour que le programme puisse fonctionner.
Chaque fois que vous changerez la sélection et qu'elle se trouvera dans la zone concernée, un repère en couleur apparaîtra
tout en conservant les couleurs de fonds des cellules (la souris et les flêches directionnelles sont autorisées pour cette action)
Pour désactiver le programme utilisez la macro Desactiver_Regle.

Cordialement.

PMO
Patrick Morange
 
Re : Regle de repere

Bonjour PMo2 bonjour forum

Merci pour ta reponse , je corrige car j'ai trouver l'erreur en fait c'est moi qui me suis tromper de PRIVATE sinon ca marche bien.

je remodifie ma réponse, car je souhaiterai SVP savoir comment faire pour modifier ton code afin que la règle soit toujours ACTIVE et tester de facon a ce que la règle reste dans la limite A2:J27

Encore merci Bonne semaine a toi

Raymond
 
Dernière édition:
Re : Regle de repere

Bonjour à tous,
bonjour raymond

Je viens d'essayer la solution de PMO2 elle fonctionne très bien

connaissant ce que tu veux faire, ( créer un tableau de maitre en collant une grande quantité de timbres-poste) , tu vas finir par te planter
je pense que si tu as ajouté le code de PM02 à ce que tu as déjà fait jusque maintenant, tu dois forcément avoir plusieurs
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
.............................
End Sub
et cela va te créer une foule de problèmes
car si tu as plusieurs
Code:
If Not Intersect Target..........
et que "Target" se réfère à des cellules ou plages de cellules identiques, tu vas finir par ne plus rien maitriser
Je pense qu'il te manque une vue globale de ton projet

à+
Bonne journée
Philippe
 
Re : Regle de repere

Bonjour Philippe, bonjour forum

C'est bon ca marche, je m'étais tromper de PRIVATE la poste est de nouveau ouverte
La barre de repere c'est pour la premiere partie de mon programme l'autre l'album est plein encore un deplacement de colonne, numero de semaine a faire, puis ce sera terminer

Merci a toi pour la reponse, passe une bonne semaine

Raymond
 
- 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

S
  • Question Question
Réponses
24
Affichages
8 K
R
Réponses
5
Affichages
1 K
R
H
Réponses
6
Affichages
4 K
hassanali59
H
T
Réponses
6
Affichages
1 K
the_ionic
T
Retour