Retourner en haut de feuille à l'ouverture

Bonjour à tous,

Je travaille sur un Excel extrait d’une base Access.

Celui ci m’affiche de nombreuses lignes inutiles et je traite donc le fichier en vba, après création de celui-ci.

Je supprime ainsi autour de 200 lignes par onglet.

Seulement une fois que j’ouvre le fichier, je me retrouve bien plus bas que le sont mes valeurs ( 200 lignes vides plus bas du coup).

J’aimerais donc s’il existe un moyen de remonter, à l’issue du traitement des données, à la ligne 1, afin de faciliter la lecture à l’ouverture.

J’ai essayé pour chaque onglet de faire:

Worksheets(« onglet »).Activate

ActiveWindow.ScrollRow =1

ActiveWindow.ScrollColumn=1

Mais rien n’y fait.

Merci beaucoup

Bonjour juberrebi,

Essaye comme ceci:

Private Sub Worksheet_Activate()
Range("A1").Select
End Sub

Bonjour Florian et merci pour cette réponse aussi rapide,

Cela me sélectionne bien la case voulue, mais ne remonte pas mon affichage qui reste tout en bas.

J'ai un peu de mal comprendre ton problème, peut nous fournir un fichier pour mieux comprendre ?

Bonjour

A voir

Application.Goto [A1], True

A+

Maurice

Bonjour,

Florian: je ne peux malheureusement pas te fournir de fichier car je suis sur des données confidentielles

J’essaye de reformuler mon point:

1) J’ai de base un fichier Excel avec 240 lignes, géneré via Access.

2)Avec le vba de Access, je modifie ce doc Excel en supprimant 200 lignes.

3) Lorsque j’ouvre Par la suite mon fichier Excel, je tombe sur la ligne 240, vide, alors que je souhaiterai qu’il s’ouvre sur la première ligne.

J’espere Que c’est plus clair et encore désolé de ne pouvoir fournir de doc ...

Maurice, je ne parviens pas a utiliser ta solution. Il me dit qu’il ne connaît pas d’etiquette A1

Bonjour

peux être comme ca

Application.Goto Range("A1"), True

A+

Maurice

Essaye comme ci-dessous, en remplaçant la lettre "N" par la lettre de ta colonne :

    
Private Sub Worksheet_Activate()
    ActiveSheet.Range("N" & Rows.Count).End(xlUp).Select
    Selection.End(xlUp).Select
End Sub

    

Bonjour à tous

Peut-être comme ça!

En mettant le ce code dans ThisWorkbook

Private Sub Workbook_Open()
    Feuil1.Range("A1").Select
End Sub

Slts

1) Florian: J’ai tapé dans mon module

wb.Worksheets(« nom de ma feuille »).Range(« A50 »).End(xlUp).select

Selection.End(xlUp).select

Avec wb le workbook sur lequel je travaille.

Mais il me renvoie une erreur 1004 d’application ou d’objet.

2) boss_68: j’ai tapé :

Wb.worksheets(« nom de ma feuille »).Range(« A1 »).Select

Et il m’envoie un message d’erreur 1004 me disant que la méthode Select de la classe Range a échoué.

3) Maurice :

Il n’accepte pas l’usage du Goto...

Merci encore de votre aide et de votre temps

Si tu utilise ce code dans un module il faut l’écrire le code comme ceci :

Sub test
'en déclarant et avec un "Set" pour wb
wb.sheets(« nom de ma feuille »).Range("A" & Rows.Count).End(xlUp).Select
Selection.End(xlUp).select
End sub

Toujours ce même problème de :

Erreur définie par l’application ou par l’objet

"Wb" est correctement déclaré ?

Car sa fonctionne chez moi, étrange

Oui pour tout le reste de mes opérations wb fonctionne parfaitement.

Aaaah je deviens fou.

Cela peut il être lié au fait que je travaille sur Access sur un document externe que j’ouvre et referme dans mon code ?

Bonjour

2) boss_68: j’ai tapé :

Wb.worksheets(« nom de ma feuille »).Range(« A1 »).Select

Et il m’envoie un message d’erreur 1004 me disant que la méthode Select de la classe Range a échoué.

En fait tu ne marque pas le nom de ta feuille que t'a renommé "si Wb.worksheets est le nom de ta feuil1 tu mets

Private Sub Workbook_Open()
    Feuil1.Range("A1").Select
End Sub

Voir exemple joint

10toto.xlsm (13.99 Ko)

Ton exemple ne marche pas

Justement parce qu’il n’y a plus de « Feuil1 » donc il ne risque pas de le trouver ...

Oui pour tout le reste de mes opérations wb fonctionne parfaitement.

Aaaah je deviens fou.

Cela peut il être lié au fait que je travaille sur Access sur un document externe que j’ouvre et referme dans mon code ?

Bonjour,

Quand tu dis que tu travail sur Access le code ci-dessous

Private Sub Workbook_Open()
    Feuil1.Range("A1").Select
End Sub

C'est dans ton document Excel au format xlsm qu'il faut le mettre.

Bonjour,

Le fait est que je ne peux pas accéder au code vba de mon Excel.

Enfin je souhaite modifier mon Excel à sa création (fichier génère quotidiennement). Donc je ne travaille que via access

Rechercher des sujets similaires à "retourner haut feuille ouverture"