IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

une erreur 400 sur un select basic [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut une erreur 400 sur un select basic
    Bonjour,

    Je suis confrontée a un probleme sans grand impact mais qui m'agace.
    Pour des raisons esthétique, j'aimerai ramener le curseur en A1 dans toute les feuilles que la macro mouline, j'avais donc mis un Sheets(i).Cells(1, 1).Select tout simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nbpage = Worksheets.Count
    For i = 4 To nbpage
        Sheets(i).[blabla]
        Sheets(i).Cells(1, 1).Select
    next i
    J'ai bien forcement au moins 4 pages, et les opérations juste avant Sheets(i).[blabla] fonctionne parfaitement
    Mais si j'ajoute "Sheets(i).Cells(1, 1).Select" dans ma boucle, j'ai une erreur 400

    Or je ne comprend pas comment ca peut foirer

    Ca n'est pas bien grave dans la mesure ou je peux me passer de ramener mon curseur en A1, c'était juste pour faire joli. Mais ca me contrarie de ne pas trouver

    J'ai essayé Sheets(i).Range("A1").Select qui pose exactement le meme probleme (erreur 400)

    Qu'est-ce qui cloche?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Points : 539
    Points
    539
    Par défaut
    Bonjour,

    On ne peut sélectionner une cellule d'une feuille que lorsque cette feuille est active.

    ctac

  3. #3
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim ws as Worksheet
    for each ws in thisworkbook.worksheets
        ws.activate
        ws.range("A1").select
    next ws

  4. #4
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Perso je ferais un truc du genre en rajoutant un filtre pour ne pas impacter les feuilles non voulues, ça serait plus économe je pense en ne faisant des select que si besoin...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Cells(1, 1).Select
    End Sub
    cordialement,

    Didier

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut
    merci beaucoup pour vos lumières

    Il faut forcement mettre en A1 pour toute les feuilles de la boucle :
    la macro globale sert sur base d'un fichier de base ou on peut choisir une personne a generer le fichier pour cette personne uniquement.
    Dans le fichier de base, tout est avec des formules, dans le fichier final, il faut que ca soit editable. Donc la macro fait un save as, copie paste valeur de tout les onglets. Et du coup, je me retrouvais avait toute la feuille de selectionnée, ce que je ne trouve pas tres esthétique

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. script qui génère une Erreur 400
    Par faluorn dans le forum Web
    Réponses: 2
    Dernier message: 18/04/2008, 09h04
  2. Erreur '400' sur ligne de code basique
    Par cyraile dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 22/08/2007, 12h01
  3. [VB.Net] Pourquoi ai-je une Erreur SQL sur un update ?
    Par ndsaerith dans le forum Accès aux données
    Réponses: 3
    Dernier message: 03/08/2006, 11h32
  4. [C#] Pourquoi une erreur System sur la commande ExecuteReader ?
    Par heavydrinker dans le forum Accès aux données
    Réponses: 4
    Dernier message: 31/07/2006, 16h05
  5. Réponses: 8
    Dernier message: 13/09/2005, 21h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo