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 :

[VBA-E]définir l'ensemble des cellules d'une feuille?


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Points : 28
    Points
    28
    Par défaut [VBA-E]définir l'ensemble des cellules d'une feuille?
    Bonjour,

    J'amierais savoir comment sélectionner l'ensemble des cellules d'une feuille avec la propriété Range.

    Actuellement, je fais le barbare en mettant Range("A1:H30000"), mais c'est pas très propre et rien ne me dit qu'un jour des valeurs n'aillent pas au delà de la ligne 30000.

    Merci bcp !

  2. #2
    Membre actif
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Points : 281
    Points
    281
    Par défaut
    tous simplement!

    d'ailleurs, ta un éditeur de macro pour te guider dans ces questions!

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    Ca ne fonctionne pas dans mon cas, car il faut nécessairement que j'utilise la propriété Range

  4. #4
    Membre actif
    Avatar de repié
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    335
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 335
    Points : 281
    Points
    281
    Par défaut
    Pourquoi ca fonctionne pas chez toi?

    Au premier abord, ce code te donne la cellule la plus basse de ta colonne (je sais pas si ca peut t'aider?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.End(xlDown).Select

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    Par exemple, pour ou pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Worksheets(1).Range("*")

  6. #6
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    J'aimerais bien que tu m'expliques pourquoi tu dois utiliser Range et non Cells. Je ne vois pas ce qui peut t'empêcher de remplacer ton "barbarisme" par "Cells"

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    La méthode Sort ne peut s'appliquer qu'à un Range. Si je mets Cells, ça plante... Jette un coup d'oeil dans l'aide à Sort, tu verras...

    Maintenant je me trompe peut être, mais qu'on m'explique

  8. #8
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Alors voila. Ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ActiveSheet.Cells.Select
        Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    fonctionne très bien. (en tout cas, en Excel 2003)
    Maintenant, je ne sais pas trop bien ce que je peux expliquer.

  9. #9
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Et même, pour éviter le Select:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveSheet.Cells.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    Ok aussi.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    C'est OK pour Sort, merci !

    Par contre, pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Worksheets(1).Range("*")
    , on ne peut pas remplacer Range par Cells.Select

  11. #11
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Non mais essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Worksheets(1).Select
    Cells.Select
    Plage = Selection.Address
    With Worksheets(1).Range(Plage)
         '..........
    End With
    Par contre, je me demande bien ce que tu vas faire de ça...

    A+

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    OK ça fonctionne merci.

    Par contre, les cellules restes sélectionnées une fois le code exécutées... Y'a une commande pour annuler la sélection ?

  13. #13
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Alors pour le "With Worksheet(1)...", je propose ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Color()
        With Worksheets(1).Cells
            .Interior.ColorIndex = 3
        End With
    End Sub
    Ensuite, pour ne pas avoir à "dé-selectionner", ne sélectionne pas. Comme je l'ai fait dans un de mes exemples au dessus.

  14. #14
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Pour dé-sélectionner ? Tu sélectionne A1
    Cells(1,1).select ....

    Je vais quand même pas mettre les balises...

    A+

    Si tu as plus simple, n'hésite pas à poser la question, on y répondra sûrement...

    NB - Mais t'es pas obligé de sélectionner A1, tu peux tout à fait sélectionner une autre cellule que A1

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    C'est pas bô de se moquer des infirmes

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Points : 28
    Points
    28
    Par défaut
    C'est tout bon, merci à tous pour cette aide...

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

Discussions similaires

  1. copier des cellules d'une feuille dans une autres sous condition
    Par olivertwist dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/05/2007, 10h42
  2. [VBA-E] Problème pour insérer des lignes dans une feuille Excel
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/04/2007, 14h13
  3. Problème de lecture des cellules dans une feuille Excel
    Par wangjun dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/10/2006, 09h35
  4. [VBA-E]Trouver et recopier des cellules d'une feuille à une autre
    Par sk8bcn dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/08/2006, 16h01
  5. [VBA-E]Interdire la selection de cellule dans une feuille
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/03/2006, 23h24

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