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

positionnement d'une feuille

11 réponses
Avatar
DAVID
Bonjour

Es possible de positionner une feuille à un endroit précis. Je m'explique

Dans certain onglet, il y a dans la colonne B des dates, du 01 janvier 2010
au 31 décembre 2010.

J'aimerais à l'ouverture d'un onglet que la feuille se positionne sur la
cellule de la date du jour et que celle-ci se mette en couleur verte.

Merci de votre aide


David

10 réponses

1 2
Avatar
michdenis
Bonjour,

Feuil1 est la valeur de la propriété "Name" de l'objet "Feuille"
visible dans la fenêtre de l'éditeur de code et non le nom de
l'onglet de la feuille.

La cellule retenue dans la colonne A:A s'affichera dans le coin
supérieur gauche de la feuille (Position cellule A1)... si tu veux
simplement sélectionner la cellule, enlève le paramètre "True"
à cette ligne de code :

Application.Goto _
Worksheets(.Parent.Name).Range(.Address), True

Le code est à mettre dans le ThisWorkbook de ton projetVBA.
Ce code ne s'exécute qu'à l'ouverture du fichier.

'---------------------------------
Private Sub Workbook_Open()
Dim R As Long
On Error Resume Next
With Feuil1
R = Application.Match(CLng(Date), .Range("A:A"), 0)
With .Range("a" & R)
.Interior.Color = vbGreen
Application.Goto _
Worksheets(.Parent.Name).Range(.Address), True
End With
End With
End Sub
'---------------------------------




"DAVID" a écrit dans le message de groupe de discussion :
#
Bonjour

Es possible de positionner une feuille à un endroit précis. Je m'explique

Dans certain onglet, il y a dans la colonne B des dates, du 01 janvier 2010
au 31 décembre 2010.

J'aimerais à l'ouverture d'un onglet que la feuille se positionne sur la
cellule de la date du jour et que celle-ci se mette en couleur verte.

Merci de votre aide


David
Avatar
FFO
Salut à toi

Dans le ThisWorkbook du classeur mets ce code

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
i = 2
Do While i < Range("B65535").End(xlUp).Row + 1
If Range("B" & i) = Date Then
Range("B" & i).Interior.ColorIndex = 4
Range("B" & i).Activate
Exit Do
End If
i = i + 1
Loop
End Sub

Celà devrait convenir

Dis moi !!!!!
Avatar
David
Bonjour à toutes et à tous,

Et en utilisant la réponse de FFO, mais
en positionnant la dite cellule dans le coin supérieur gauche.

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
i = 2
Do While i < Range("B65535").End(xlUp).Row + 1
If Range("B" & i) = Date Then
Range("B" & i).Interior.ColorIndex = 4

Application.GoTo Reference:¬tiveSheet.Range("B" & i), Scroll:=True

Exit Do
End If
i = i + 1
Loop
End Sub

--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/
Cette page est transmise avec des électrons 100% recyclés.

"FFO" a écrit dans le message de news:

Salut à toi

Dans le ThisWorkbook du classeur mets ce code

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
i = 2
Do While i < Range("B65535").End(xlUp).Row + 1
If Range("B" & i) = Date Then
Range("B" & i).Interior.ColorIndex = 4
Range("B" & i).Activate
Exit Do
End If
i = i + 1
Loop
End Sub

Celà devrait convenir

Dis moi !!!!!



Avatar
LSteph
Bonjour,

Private Sub Worksheet_Activate()

Dim r As Long
On Error Resume Next
For Each c In Range([b65536].End(xlUp), "b2").Cells
If c = Date Then
r = c.Row
c.Interior.ColorIndex = 43
ActiveWindow.ScrollRow = r
ActiveWindow.Scrollcolumn=2
Exit For
End If
Next

End Sub


'lSteph


On 31 déc, 13:20, "DAVID" wrote:
Bonjour

Es possible de positionner une feuille à un endroit précis. Je m'expl ique

Dans certain onglet, il y a dans la colonne B des dates, du 01 janvier 20 10
au 31 décembre 2010.

J'aimerais à l'ouverture d'un onglet que la feuille se positionne sur l a
cellule de la date du jour et que celle-ci se mette en couleur verte.

Merci de votre aide

David


Avatar
DAVID
merci de ta réponse mais cela fonctionne qu'a l'ouverture du fichier.
Avatar
michdenis
| merci de ta réponse mais cela fonctionne qu'a l'ouverture du fichier.

Les réponses ne sont que des suggestions...

Effectivement, le choix de l'évènement n'était pas judicieux suite
à une mauvaise lecture de la question... mais rien ne t'empêche
de retenir la procédure évènementielle de ton choix et d'y
insérer le code...

C'est toi le boss de l'application que tu élabores alors prend
les décisions qui s'imposent et arrête de rechercher des réponses
toutes faites où tu n'as qu'à faire un copier-coller... !
Avatar
DAVID
merci beaucoup, cela fonctionne très bien avec quelque modif perso suivant
les conseils de "michdenis" !!!
Avatar
DAVID
merci beaucoup, cela fonctionne très bien avec quelque modif perso suivant
les conseils de "michdenis" !!!
Avatar
Mgr T. Banni
même remarque que pour Jacky...
merci d'éviter absolument de laisser son ordi à une mauvaise heure : ça fait
désordre dans la sacristie
Mgr T.B.

"Caetera" <EtiennePloufCahé@wanadoo.fr> a écrit dans le message de news:

"David" a écrit dans le message de news:


***********
Et en utilisant la réponse de FFO,



A éviter absolument !

Etc



Avatar
Caetera
"DAVID" a écrit dans le message de news:
%

Es possible de positionner une feuille à un endroit précis. Je m'explique
Dans certain onglet, il y a dans la colonne B des dates, du 01 janvier 2010 au
31 décembre 2010.
J'aimerais à l'ouverture d'un onglet que la feuille se positionne sur la
cellule de la date du jour et que celle-ci se mette en couleur verte.



******************

D'a&bord sélectionne ta plage B1:B365
puis format > mise en forme conditionnelle > la formule est :
±=AUJOURDHUI() puis le format que tu veux

Puis dans le module de Thisworkbook (en supposant ta liste dans "Feuil1")

Private Sub Workbook_Open()
On Error Resume Next
Sheets("Feuil1").Select
Application.Goto Reference:=Range("Feuil1!" & [Feuil1!B:B].Find(Date).Address),
scroll:=True
End Sub

Etc
:
1 2