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 :

Syntaxe Range avec une variable pour la colonne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 2
    Par défaut Syntaxe Range avec une variable pour la colonne
    Bonjour à tous

    Premier post donc des présentations s'imposent.

    Je m'appelle Mathieu et suis ingénieur en dynamique du véhicule chez Spyker aux Pays-Bas.

    Je ne bénéficie pas particulièrement d'une formation aux langages de programmation, mais j'ai tout de même du m'y mettre afin de mener à bien un petit projet.


    Voici donc mon problème.

    J'aimerais sélectionner une plage de cellules dont la colonne n'est pas fixe.
    Je connais la syntaxe dans le cas d'une ligne identifiée par une variable mais je dois avouer que pour la colonne, je patauge.

    Voici la partie de code concernée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Else
        Worksheets("Sum_up").Select
        While Range(Cells(3, i), Cells(3, i)).Value <> 0
            i = i + 1
        Wend
     
       'defining an array to associate each i to a column name
        Dim col(13) As String
     
        col(1) = "A"
        col(2) = "B"
        col(3) = "C"
        col(4) = "D"
        col(5) = "E"
        col(6) = "F"
        col(7) = "G"
        col(8) = "H"
        col(9) = "I"
        col(10) = "J"
        col(11) = "K"
        col(12) = "L"
    MsgBox (col(3))
     
    Range("&col(3)"4:&col(3)"5, "&col(5)"4:&col(5)"5).select
    'à la vue de mes variables, je voudrais donc avoir Range("C4:C5, D4:D5").select
    C'est l'avant dernière ligne qui coince bien sûr, car je n'arrive pas à trouver la syntaxe me permettant d'utiliser mes col(i) en guise d'index de colonne.


    Quelqu'un pourrait-il m'aider?

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour et bienvenue sur le forum

    Je ne comprend pas très bien le but recherché mais la syntaxe correcte est celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(col(3) & "4:" & col(3) & "5," & col(5) & "4:" & col(5) & "5").Select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C4:C5,D4:D5").Select = Range("C4:D5").Select
    donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(col(3) & "4:" & col(5) & "5").Select

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 2
    Par défaut
    Merci pour la réponse

    C'est vrai que l'exemple que j'ai pris était pas super parlant, j'ai voulu résumé le problème.


    En fait il sagit de sélectionner plusieurs cellules non contigues dans des colonnes variables

    La syntaxe marche en tout cas très bien.

    Merci beaucoup

  4. #4
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour,
    ce ne serait pas mieux comme ça?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    union(range(cells(R,C),cells(R,C)),range(cells(R2,C2),cells(R2,C2))).Select

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

Discussions similaires

  1. Load data avec une variable pour nom de fichier
    Par kelk1 dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 14/01/2016, 14h41
  2. Utiliser une variable pour désigner une colonne
    Par NicolasDeVos dans le forum SQL
    Réponses: 2
    Dernier message: 12/06/2008, 09h12
  3. Prb de syntaxe avec une Variable dans un script SQL 2005
    Par davidso dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/03/2007, 18h14
  4. [T-SQL] Colonnes d'une table appelées avec une variable
    Par Deedoo2000 dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 25/09/2006, 15h18
  5. [T-SQL] Colonnes d'une table appelées avec une variable
    Par Deedoo2000 dans le forum Sybase
    Réponses: 3
    Dernier message: 25/09/2006, 15h18

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