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

XL 2016 VBA - Erreur utilisation de Application.Goto

danielco

XLDnaute Accro
Bonjour,

J'obtiens une erreur d'exécution 1004 "la méthode 'GoTo' de l'objet "_Application a échoué"

VB:
Application.Goto .Range("A1"), True

(Il y a bien une instruction "With" auparavant).

Merci d'avance.

Daniel
 

danielco

XLDnaute Accro
Merci. Malheureusement, je n'ai pas le mot de passe (je l'attends depuis deux jours...).
Je crois qu'il va falloir attendre. Désolé de ne pas pouvoir aller plus loin. J'ai fait un test avec un autre classeur et une feuille protégée (options de protection par défaut). Pas de problème.
 

job75

XLDnaute Barbatruc
Bonjour danielco, JM,

Je ne comprends pas, chez moi ceci fonctionne que la feuille soit protégée ou non :
VB:
Sub a()
With Sheets("Prop")
    .Visible = xlSheetVisible 'si la feuille est masquée
    Application.Goto .[A1], True
End With
End Sub
A+
 

danielco

XLDnaute Accro
Voici le début de la macro (les lignes commentées, elles, fonctionnent) :

VB:
Private Sub Workbook_Open()
  With Sheets("Prop")
    .Range("L34:L35") = ""
'    .Select
'    [A1].Select
    Application.Goto .Range("A1"), True
  End With
 

Jacky67

XLDnaute Barbatruc
Bonjour danielco, JM, Job75
Chez moi aussi (xl2007)
Sauf si......
"Sélectionner les cellules verrouillées" est décoché
 

job75

XLDnaute Barbatruc
Je n'ai pas accès aux options de protection, mais on peut sélectionner A1, donc...
...donc normalement la macro de mon post #6 doit fonctionner.

Et ceci aussi si A1 n'est pas sélectionnable :
VB:
Sub b()
With Sheets("Prop")
    .Visible = xlSheetVisible 'si la feuille est masquée
    .Select
    ActiveWindow.ScrollRow = 1
    ActiveWindow.ScrollColumn = 1
End With
End Sub
 

job75

XLDnaute Barbatruc
Cela dit pas besoin d'attendre pour ôter le mot de passe, mettez dans un module standard et exécutez :
VB:
Sub SansProtection()
Sheets.Add
With Sheets("Prop")
    .UsedRange.Copy Range(.UsedRange.Address)
    Application.DisplayAlerts = False
    .Delete
End With
ActiveSheet.Name = "Prop"
Application.Goto [A1], True
End Sub
 

Discussions similaires

Réponses
14
Affichages
255
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…