Centrer feuille excel sur une cellule variable - VBA

  • Initiateur de la discussion Initiateur de la discussion vincentd
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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!
 
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
@+
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour