Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro

1 réponse
Avatar
ipocket
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

Sheets(FeuilSelection=E9e).Select
Application.ScreenUpdating =3D True

End If

End If

End Sub

1 réponse

Avatar
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

Next i

Sheets(FeuilSelectionée).Select
Application.ScreenUpdating = True

End If

End If

End Sub


.