macro pour basculer de feuil1 à feuil2 même cellule
3 réponses
marchepied
Bonjours,
Dans un document j'ai 2 grands tableaux "feuil1"=20
et "feuil2"=20
Quand je navigue dans "feuil1" j'active une cellule qui=20
m'int=E9resse (exemple au hasard B1914) je recherche une=20
macro qui me permettrai, si je fais (par exemple) ctrl A =20
de basculer dans la "feuil2" et que la m=EAme cellule soit=20
activ=E9e. (exemple B1914 de "feuil2") Et l'id=E9al serai, que=20
cette cellule activ=E9e de "feuil2" soit en haut de l'=E9cran.
Si vous pouvez m'aider pour cette macro, =E7a serai tr=E8s=20
sympa.
Merci,
Marchepied
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
AV
Dans le module de ThisWorkbook Private Sub Workbook_Open() Application.OnKey "^{a}", "zzzz" End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.OnKey "^{a}" End Sub
Dans un module ordinaire : Sub zzzz() If ActiveSheet.Name = "Feuil1" Then With ActiveCell x1 = .Address x2 = .Row x3 = .Column End With Sheets("Feuil2").Select Range(x1).Activate ActiveWindow.ScrollRow = x2 ActiveWindow.ScrollColumn = x3 End If End Sub
AV
Dans le module de ThisWorkbook
Private Sub Workbook_Open()
Application.OnKey "^{a}", "zzzz"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "^{a}"
End Sub
Dans un module ordinaire :
Sub zzzz()
If ActiveSheet.Name = "Feuil1" Then
With ActiveCell
x1 = .Address
x2 = .Row
x3 = .Column
End With
Sheets("Feuil2").Select
Range(x1).Activate
ActiveWindow.ScrollRow = x2
ActiveWindow.ScrollColumn = x3
End If
End Sub
Dans le module de ThisWorkbook Private Sub Workbook_Open() Application.OnKey "^{a}", "zzzz" End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.OnKey "^{a}" End Sub
Dans un module ordinaire : Sub zzzz() If ActiveSheet.Name = "Feuil1" Then With ActiveCell x1 = .Address x2 = .Row x3 = .Column End With Sheets("Feuil2").Select Range(x1).Activate ActiveWindow.ScrollRow = x2 ActiveWindow.ScrollColumn = x3 End If End Sub
AV
marchepied
Merci AV pour la réponse. Mais ça plante à la ligne: Range(x1).Activate message "erreur d'execution "1004" avez-vous une idée sur la raison du blocage ? En mettant select à la place de activate, c'est la même chose. Toutes les instructions avant cette ligne, s'exécutent bien. Pendant l'execution, si je met le curseur sur x1, de cette ligne, il affiche "x1 = "$B$66" Merci de votre aide, marchepied,
-----Message d'origine----- Dans le module de ThisWorkbook Private Sub Workbook_Open() Application.OnKey "^{a}", "zzzz" End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.OnKey "^{a}" End Sub
Dans un module ordinaire : Sub zzzz() If ActiveSheet.Name = "Feuil1" Then With ActiveCell x1 = .Address x2 = .Row x3 = .Column End With Sheets("Feuil2").Select Range(x1).Activate ActiveWindow.ScrollRow = x2 ActiveWindow.ScrollColumn = x3 End If End Sub
AV
.
Merci AV pour la réponse.
Mais ça plante à la ligne: Range(x1).Activate
message "erreur d'execution "1004"
avez-vous une idée sur la raison du blocage ?
En mettant select à la place de activate, c'est la même
chose.
Toutes les instructions avant cette ligne, s'exécutent
bien.
Pendant l'execution, si je met le curseur sur x1, de cette
ligne, il affiche "x1 = "$B$66"
Merci de votre aide,
marchepied,
-----Message d'origine-----
Dans le module de ThisWorkbook
Private Sub Workbook_Open()
Application.OnKey "^{a}", "zzzz"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "^{a}"
End Sub
Dans un module ordinaire :
Sub zzzz()
If ActiveSheet.Name = "Feuil1" Then
With ActiveCell
x1 = .Address
x2 = .Row
x3 = .Column
End With
Sheets("Feuil2").Select
Range(x1).Activate
ActiveWindow.ScrollRow = x2
ActiveWindow.ScrollColumn = x3
End If
End Sub
Merci AV pour la réponse. Mais ça plante à la ligne: Range(x1).Activate message "erreur d'execution "1004" avez-vous une idée sur la raison du blocage ? En mettant select à la place de activate, c'est la même chose. Toutes les instructions avant cette ligne, s'exécutent bien. Pendant l'execution, si je met le curseur sur x1, de cette ligne, il affiche "x1 = "$B$66" Merci de votre aide, marchepied,
-----Message d'origine----- Dans le module de ThisWorkbook Private Sub Workbook_Open() Application.OnKey "^{a}", "zzzz" End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.OnKey "^{a}" End Sub
Dans un module ordinaire : Sub zzzz() If ActiveSheet.Name = "Feuil1" Then With ActiveCell x1 = .Address x2 = .Row x3 = .Column End With Sheets("Feuil2").Select Range(x1).Activate ActiveWindow.ScrollRow = x2 ActiveWindow.ScrollColumn = x3 End If End Sub
AV
.
AV
Mais ça plante à la ligne: Range(x1).Activate
Vraisemblablement une erreur de recopie du code fourni (à la ligne d'initialisation de la variable x1) ...... x1 = .Address .....
Vérifie qu'il y a bien un point après chaque signe AV
Mais ça plante à la ligne: Range(x1).Activate
Vraisemblablement une erreur de recopie du code fourni (à la ligne
d'initialisation de la variable x1)
......
x1 = .Address
.....
Vérifie qu'il y a bien un point après chaque signe
AV