Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Centrer feuille excel sur une cellule variable - VBA

vincentd

XLDnaute Nouveau
Bonjour à tous!

Je débute en VBA et je me retrouve pour la première fois bloqué sans trouver la réponse que je me pose sur ce très bon forum!

Le problème est le suivant:

Je souhaite rechercher et enregistrer les coordonnées d'une cellule contenant une chaîne de caractère (ici "Nom du projet"). Je voudrais ensuite que lors de l'utilisation de la macro, la cellule se place d'elle même en haut à gauche de ma fenetre excel.

Voila ce que j'ai bidouillé:

Sub test ()
Dim nomprojet As Variant

nomprojet = Worksheets("Fiches d'opération").Range("F1:F300").Cells.Find(What:="Nom du projet").Address

Onglet = ActiveSheet.Name
MakeTopLeft ThisWorkbook.Sheets(Onglet).Cells("nomprojet")

End Sub

Sub MakeTopLeft(R As Range) 'Code pour placer une cellule en haut à gauche de la page
R.Parent.Activate
ActiveWindow.ScrollRow = R.Row
ActiveWindow.ScrollColumn = R.Column
End Sub

Le problème qui apparemment se pose est que la variable nomprojet me renvoi une coordonnée du type $A$1, alors que les coordonnées dans Cells sont à renseigner de manière numérique (type Cells(1,3)).

Merci d'avance!
 

Pierrot93

XLDnaute Barbatruc
Re : Centrer feuille excel sur une cellule variable - VBA

Bonjour,

si cela peut t'aider à avancer, à adapter à ton projet :
Code:
Dim x As Range
Set x = Cells.Find("test", , xlValues, xlWhole, , , False)
If Not x Is Nothing Then Application.Goto x, True
bonne journée
@+
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Centrer feuille excel sur une cellule variable - VBA

Bonjour Vincent et bienvenu, bonjour Pierrot, bonjour le forum,

Peut-être comme ça :
Code:
Sub test()
Dim nomprojet As Range
Set nomprojet = Worksheets("Fiches d'opération").Range("F1:F300").Cells.Find(What:="Nom du projet")
MakeTopLeft nomprojet
End Sub


Sub MakeTopLeft(R As Range) 'Code pour placer une cellule en haut à gauche de la page
R.Parent.Activate
ActiveWindow.ScrollRow = R.Row
ActiveWindow.ScrollColumn = R.Column
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…