Bonjour,
la macro suivante me permet de changer de feuille sans=20
changer de ligne active.
Probl=E8me : elle s'ex=E9cute =E9galement lors de chaque=20
changement de colonne.
Comment faire pour qu'elle ne s'ex=E9cute qu'=E0 chaque=20
changement de ligne et non de colonne.
Merci pour vos conseils.
Private Sub Worksheet_SelectionChange(ByVal Target As=20
Range)
=20
Dim x As Double
Dim y As Double
Dim NbreFeuilles As Integer
Dim FeuilSelection=E9e As String
=20
=20
If Selection.Count =3D 1 Then
=20
If y <> Target.Row Then
=20
Application.ScreenUpdating =3D False
=20
NbreFeuilles =3D Sheets.Count
FeuilSelection=E9e =3D ActiveSheet.Name
y =3D Target.Row
=20
For i =3D 1 To NbreFeuilles
=20
Sheets(i).Activate
x =3D Target.Column
Sheets(i).Cells(y, x).Select
=20
Next i
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ipocket
Merci ça fonctionne.
-----Message d'origine----- Bonjour,
Ajouter une variable globale, avant les procédures, qui gardera le Numéro de
la colonne.
public intCol as integer
Par la suite au début de la procédure, s'il n'a pas la même valeur sortir.
If intcol<> Target.Column then
intCol=target.column
exit sub
end if
-- JP
"ipocket" wrote in message news:0a7401c36962$9c97a040$ Bonjour, la macro suivante me permet de changer de feuille sans changer de ligne active. Problème : elle s'exécute également lors de chaque changement de colonne. Comment faire pour qu'elle ne s'exécute qu'à chaque changement de ligne et non de colonne. Merci pour vos conseils.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim x As Double Dim y As Double Dim NbreFeuilles As Integer Dim FeuilSelectionée As String
If Selection.Count = 1 Then
If y <> Target.Row Then
Application.ScreenUpdating = False
NbreFeuilles = Sheets.Count FeuilSelectionée = ActiveSheet.Name y = Target.Row
For i = 1 To NbreFeuilles
Sheets(i).Activate x = Target.Column Sheets(i).Cells(y, x).Select
Ajouter une variable globale, avant les procédures, qui
gardera le Numéro de
la colonne.
public intCol as integer
Par la suite au début de la procédure, s'il n'a pas la
même valeur sortir.
If intcol<> Target.Column then
intCol=target.column
exit sub
end if
--
JP
jp@solutionsvba.com
"ipocket" <ipocket@free.fr> wrote in message
news:0a7401c36962$9c97a040$a101280a@phx.gbl...
Bonjour,
la macro suivante me permet de changer de feuille sans
changer de ligne active.
Problème : elle s'exécute également lors de chaque
changement de colonne.
Comment faire pour qu'elle ne s'exécute qu'à chaque
changement de ligne et non de colonne.
Merci pour vos conseils.
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Dim x As Double
Dim y As Double
Dim NbreFeuilles As Integer
Dim FeuilSelectionée As String
If Selection.Count = 1 Then
If y <> Target.Row Then
Application.ScreenUpdating = False
NbreFeuilles = Sheets.Count
FeuilSelectionée = ActiveSheet.Name
y = Target.Row
For i = 1 To NbreFeuilles
Sheets(i).Activate
x = Target.Column
Sheets(i).Cells(y, x).Select
Ajouter une variable globale, avant les procédures, qui gardera le Numéro de
la colonne.
public intCol as integer
Par la suite au début de la procédure, s'il n'a pas la même valeur sortir.
If intcol<> Target.Column then
intCol=target.column
exit sub
end if
-- JP
"ipocket" wrote in message news:0a7401c36962$9c97a040$ Bonjour, la macro suivante me permet de changer de feuille sans changer de ligne active. Problème : elle s'exécute également lors de chaque changement de colonne. Comment faire pour qu'elle ne s'exécute qu'à chaque changement de ligne et non de colonne. Merci pour vos conseils.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim x As Double Dim y As Double Dim NbreFeuilles As Integer Dim FeuilSelectionée As String
If Selection.Count = 1 Then
If y <> Target.Row Then
Application.ScreenUpdating = False
NbreFeuilles = Sheets.Count FeuilSelectionée = ActiveSheet.Name y = Target.Row
For i = 1 To NbreFeuilles
Sheets(i).Activate x = Target.Column Sheets(i).Cells(y, x).Select