OVH Cloud OVH Cloud

Rechercher

3 réponses
Avatar
Réjean
Bonjour a tous,

Dans ma feuille excel j'ai la ligne 23 qui est de
couleur grisse au complet ... j'ai aussi la ligne 48 qui est de couleur
grisse ... et je voulais savoir si c'etait possible a l'aide de deux touche
exemple le Ctrl + Tab et a l'aide d'une macro qu'il saute d'une ligne grisse
a un autre ! car me ligne grisse defenisse des sections je trouverai sa plus
facile de descendre section par section.

donc si je me trouve en A1 et que j'appui sur ctrl + tab et bien il va
directement me descendre a A23 et si je reppui il va aller a A48 .... ainsi
de suite ....

merci de votre aide

3 réponses

Avatar
argyronet
Bonjour,

Oui, c'est tout à fait possible...
1/ Nommez déjà vos zones avec Insertion/Nom/Définir
2/ Avec une macros qui exploite Application.OnKey (voir l'aide) et une macro
qui utilise la méthode Application.Goto Reference...
3/ Initialiser la routine Application.OnKey dans l'événement Open et Close
du classeur.

Argy
--
Mes tutoriels sur http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Bonjour a tous,

Dans ma feuille excel j'ai la ligne 23 qui est de
couleur grisse au complet ... j'ai aussi la ligne 48 qui est de couleur
grisse ... et je voulais savoir si c'etait possible a l'aide de deux touche
exemple le Ctrl + Tab et a l'aide d'une macro qu'il saute d'une ligne grisse
a un autre ! car me ligne grisse defenisse des sections je trouverai sa plus
facile de descendre section par section.

donc si je me trouve en A1 et que j'appui sur ctrl + tab et bien il va
directement me descendre a A23 et si je reppui il va aller a A48 .... ainsi
de suite ....

merci de votre aide





Avatar
PMO
Bonjour,

Une piste avec les codes suivants.

1) Copiez le code suivant dans ThisWorkbook
'**********
Private Sub Workbook_Activate()
Application.OnKey "^{TAB}", "PMO_avant"
Application.OnKey "^+{TAB}", "PMO_arriere"
End Sub

Private Sub Workbook_Deactivate()
Application.OnKey "^{TAB}"
Application.OnKey "^+{TAB}"
End Sub
'**********

2) Copiez le code suivant dans un module standard.
'**********
Private Sub PMO_avant()
Dim nblig&
Dim R As Range
Dim C As Range
Set R = ActiveSheet.UsedRange
nblig& = R.Row + R.Rows.Count - 1
Set R = Range("a" & Selection.Row + 1 _
& ":a" & nblig& & "")
For Each C In R
If C.Interior.ColorIndex = 15 Then
If Rows(C.Row).Interior.ColorIndex = 15 Then
C.Select
Exit For
End If
End If
Next C
End Sub

Private Sub PMO_arriere()
Dim nblig&
Dim R As Range
Dim i&
Set R = ActiveSheet.UsedRange
nblig& = R.Row + R.Rows.Count - 1
For i& = Selection.Row - 1 To 1 Step -1
If Range(Cells(i&, 1), Cells(i&, 1)) _
.Interior.ColorIndex = 15 Then
If Rows(i&).Interior.ColorIndex = 15 Then
Range(Cells(i&, 1), Cells(i&, 1)).Select
Exit For
End If
End If
Next i&
End Sub
'**********

Si vous appuyez Ctrl+Tab la ligne, complètement en gris clair APRES la
sélection en cours, sera sélectionnée.
Si vous appuyez Ctrl+Maj+Tab la ligne, complètement en gris clair AVANT la
sélection en cours, sera sélectionnée.

La couleur que j'ai retenue est le gris le plus clair et a le code
ColorIndex = 15 chez moi. Vérifiez, en enregistrant une macro, le code de
couleur
que vous voulez obtenir. S'il est différent, corrigez dans le code du module
standard tous les ColorIndex = 15 par ColorIndex = votre valeur.

Cordialement.

--
PMO
Patrick Morange



Bonjour a tous,

Dans ma feuille excel j'ai la ligne 23 qui est de
couleur grisse au complet ... j'ai aussi la ligne 48 qui est de couleur
grisse ... et je voulais savoir si c'etait possible a l'aide de deux touche
exemple le Ctrl + Tab et a l'aide d'une macro qu'il saute d'une ligne grisse
a un autre ! car me ligne grisse defenisse des sections je trouverai sa plus
facile de descendre section par section.

donc si je me trouve en A1 et que j'appui sur ctrl + tab et bien il va
directement me descendre a A23 et si je reppui il va aller a A48 .... ainsi
de suite ....

merci de votre aide





Avatar
Réjean
Excellent merci a vous deux cela est exactement ce que je voulais :)

"PMO" <patrickPOINTmorangeAROBASElapostePOINTnet> a écrit dans le message de
news:
Bonjour,

Une piste avec les codes suivants.

1) Copiez le code suivant dans ThisWorkbook
'**********
Private Sub Workbook_Activate()
Application.OnKey "^{TAB}", "PMO_avant"
Application.OnKey "^+{TAB}", "PMO_arriere"
End Sub

Private Sub Workbook_Deactivate()
Application.OnKey "^{TAB}"
Application.OnKey "^+{TAB}"
End Sub
'**********

2) Copiez le code suivant dans un module standard.
'**********
Private Sub PMO_avant()
Dim nblig&
Dim R As Range
Dim C As Range
Set R = ActiveSheet.UsedRange
nblig& = R.Row + R.Rows.Count - 1
Set R = Range("a" & Selection.Row + 1 _
& ":a" & nblig& & "")
For Each C In R
If C.Interior.ColorIndex = 15 Then
If Rows(C.Row).Interior.ColorIndex = 15 Then
C.Select
Exit For
End If
End If
Next C
End Sub

Private Sub PMO_arriere()
Dim nblig&
Dim R As Range
Dim i&
Set R = ActiveSheet.UsedRange
nblig& = R.Row + R.Rows.Count - 1
For i& = Selection.Row - 1 To 1 Step -1
If Range(Cells(i&, 1), Cells(i&, 1)) _
.Interior.ColorIndex = 15 Then
If Rows(i&).Interior.ColorIndex = 15 Then
Range(Cells(i&, 1), Cells(i&, 1)).Select
Exit For
End If
End If
Next i&
End Sub
'**********

Si vous appuyez Ctrl+Tab la ligne, complètement en gris clair APRES la
sélection en cours, sera sélectionnée.
Si vous appuyez Ctrl+Maj+Tab la ligne, complètement en gris clair AVANT la
sélection en cours, sera sélectionnée.

La couleur que j'ai retenue est le gris le plus clair et a le code
ColorIndex = 15 chez moi. Vérifiez, en enregistrant une macro, le code de
couleur
que vous voulez obtenir. S'il est différent, corrigez dans le code du
module
standard tous les ColorIndex = 15 par ColorIndex = votre valeur.

Cordialement.

--
PMO
Patrick Morange



Bonjour a tous,

Dans ma feuille excel j'ai la ligne 23 qui est de
couleur grisse au complet ... j'ai aussi la ligne 48 qui est de couleur
grisse ... et je voulais savoir si c'etait possible a l'aide de deux
touche
exemple le Ctrl + Tab et a l'aide d'une macro qu'il saute d'une ligne
grisse
a un autre ! car me ligne grisse defenisse des sections je trouverai sa
plus
facile de descendre section par section.

donc si je me trouve en A1 et que j'appui sur ctrl + tab et bien il va
directement me descendre a A23 et si je reppui il va aller a A48 ....
ainsi
de suite ....

merci de votre aide