Damoiselle a écrit :
Bonjour
J'ai deux onglet.
Je selectionne une ligne sur un onglet 1.
Je change d'onglet et passe à l'onglet 2
Je souhaite voir la même ligne (même numéro) sélectionnée sur le second onglet.
J'ai écrit le code mais il plante :
Private Sub Worksheet_Activate()
NomFichier = ActiveWorkbook.Name
If Workbooks(NomFichier).Worksheets(1).Selection.Row > 0 Then
Workbooks(NomFichier).Worksheets(2).Rows(Workbooks(NomFichier).Worksheets(1).Selection.Row).Select
End If
End Sub
Quelqu'un aurait-il une solution ?
merci
Salut
déjà : plus tu compliques moins , moins tu as plus de risques d'erruer
Tout ça pour dire que plus t'es feignant et ton code léger, moins tu risques des fautes de frappes, syntaxe,, etc...
pour la syntaxe
Si j'ai bien compris ta macro : tu voudrais à l'activation de la feuille2 que la ligne en sélection dans la feuille 1 soit sélectionnée.
Le problème pour Excel c'est que la selection ne peut concerner que la feuille active dans la fenêtre.
Une solution à adapter suivant tes besoins réels :
Dans le module ThisWorkBook
Option Explicit
Public Adr As String
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = Sheets(2).Name And Adr <> "" Then
Range(Adr).Select
End If
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = Sheets(1).Name Then Adr = Target.Address(0, 0)
End Sub
On met à jour une variable à chaque changement de sélection dans la feuille 1
Quand on active la feuille 2, si la variable n'est pas vide, on sélectionne la plage qu'elle définit.
A+