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 :

problème sur parcours de range


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Points : 209
    Points
    209
    Par défaut problème sur parcours de range
    Bonjour à tous,
    je suis en train de modifier un tableau excel généré dynamiquement.
    Pour cela, je sélectionne la partie spécifique que je veux modifier dans une plage donnée.

    J'obtiens ainsi une plage rdate, qui fonctionne. Mes cellules sont bien sélectionnées.
    Je voudrais parcourir chaque cellule de cette plage, pour modifier leur nom, et le cas échéant insérer une ou plusieurs colonne avant cette cellule, mais je bloque sur le parcours de cette plage.

    Je pensais faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    dim c as range
    dim rdate as range
     
    ' Détermination de la plage de dates
    rdate = Range(Cells(deb_li, deb_col + 1).Address & ":" & Cells(fin_li, fin_col - 1).Address)
     
    For Each c In rdate
        ' traitement des cellules
    Next c

    mais ca ne marche pas.

    Une idée?

    Y a t'il une méthode plus performante que le for each pour le type de traitement que j'envisage?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Points : 57
    Points
    57
    Par défaut
    Bonjour,
    peut être qu'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set rdate = Range(Cells(deb_li, deb_col + 1).Address & ":" & Cells(fin_li, fin_col - 1).Address)
    irait mieux...

    Cordialement

  3. #3
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Points : 209
    Points
    209
    Par défaut
    rah je savais que c'était quelque chose de stupide...

    Thx spitnolan.

    Et sinon, en terme de performance l'usage de for each est adapté à mon traitement, ou il y a une solution plus efficace?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Points : 57
    Points
    57
    Par défaut
    Re,

    La réponse est dans ta question puisque tu écrits :
    Je voudrais parcourir chaque cellule de cette plage
    Donc, c'est la meilleure façon pour moi.

    Cordialement

  5. #5
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Points : 209
    Points
    209
    Par défaut
    Effectivement, vu sous cet angle...
    Bon on y retourne.
    Merci pour le coup de main.

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

Discussions similaires

  1. vlookup avec problème sur la méthode range
    Par Nako_lito dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/09/2009, 12h34
  2. Réponses: 11
    Dernier message: 09/06/2008, 14h10
  3. Réponses: 1
    Dernier message: 10/01/2008, 16h07
  4. [Tableaux] Problème sur le parcours d'un tableau
    Par gregal dans le forum Langage
    Réponses: 2
    Dernier message: 02/04/2007, 12h22
  5. problème sur le parcours d'un dossier
    Par cyrill.gremaud dans le forum Langage
    Réponses: 16
    Dernier message: 04/05/2006, 14h17

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