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 :

rappel du nom de la feuille a chaque fois


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 105
    Par défaut rappel du nom de la feuille a chaque fois
    bonjour a tous,

    le titre est pas très clair donc je dois m'expliquer.

    d'habitude, je mets mes macros dans un module mais là, je dois dupliquer une feuille dans un autre classeur avec ses macros... donc, les macros sont dans la feuille.

    Le soucis est que, une fois dupliquée, je passe d'une feuille a l'autre pour copier/coller des données

    imaginons que mes macros sont dans la feuille "pointage" et je doive aller chercher des données dans la fuille "RECAP". suis_je obligé de systématiquement mentionné :

    ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Sheets("RECAP").Range(Sheets("RECAP").ActiveCell, Sheets("RECAP").Cells((Sheets("RECAP").ActiveCell.End(xlDown).Row) - 1, 10)).EntireRow.Select
    sachant que ce dernier code renvoie une erreur qui m'arrête ma macro au lieu de me rendre la main !!! ( si vous avez la soluce pour eviter cette erreur, je prend aussi...

    merci pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Tu ne peux appeler la propriété .ActiveCell d'une feuille qui n'est pas active (sélectionnée).

    Sinon regarde du côté de With et End With pour éviter d'écrire le nom du Worksheet à chaque fois.

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 105
    Par défaut
    c'est pire que ça...

    si je fais ça, ça marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("TEMP pointage").Activate
    Range("C6").End(xlDown).Offset(4, -2).Select
    il faut que je fasse ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("TEMP pointage").Activate
    Sheets("TEMP pointage").Range("C6").End(xlDown).Offset(4, -2).Select
    bon, je vais me démerder...


    sinon, question gratuite, la différence entre

    **.select

    et

    **.activate

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Et si tu fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("TEMP pointage").Select
    Range("C6").End(xlDown).Offset(4, -2).Select
    Voir ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("TEMP pointage").Range("C6").End(xlDown).Offset(4, -2).Select

    Pour répondre à ta dernière question, va voir ici :

    http://www.developpez.net/forums/d70...tivate-select/
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 105
    Par défaut
    non mais là, c'est un exemple simple... le rappeler une fois en début de ligne, ça me pose pas de soucis...

    c'est quand je cherche a faire des trucs un peu plus "sioux", que ça se complique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Range(ActiveCell, Cells((ActiveCell.End(xlDown).Row) - 1, 10)).EntireRow.Select
    (ce code fonctionne a merveille quand je le met dans la feuille"RECAP")

    et le code devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Sheets("RECAP").Range(Sheets("RECAP").ActiveCell, Sheets("RECAP").Cells((ActiveCell.End(xlDown).Row) - 1, 10)).EntireRow.Select
    et encore... ça marche meme pas

  6. #6
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Tu es forcément obligé de mettre la référence de ta feuille quand tu appelle une cellule, sinon ça prendra la cellule de ta feuille active

    Je ne vois pas d'autres solution
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

Discussions similaires

  1. nom d'une feuille dans une cellule
    Par s.rais dans le forum Excel
    Réponses: 2
    Dernier message: 05/07/2007, 12h05
  2. Réponses: 1
    Dernier message: 15/11/2006, 01h49
  3. Récupérer le nom de la feuille d'une cellule appelante
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/10/2006, 20h12
  4. [VBA-E]Récuperer le nom d'une feuille sans le N°
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/04/2006, 11h33
  5. Réponses: 4
    Dernier message: 09/11/2005, 17h11

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