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 alternative à la commande Range("..")


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 31
    Par défaut une alternative à la commande Range("..")
    Bonjour, j'ai un programme qui doit sélectionner X données dans une colonne qui est déterminé par mon programme en fonction de son nom. Je dois ensuite sélectionner ces données pour en faire un graphique. Je connais la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    workbooks(wb).ActiveChart.SetSourceData source:=(nomfeuille).range("L6:L34")
    .

    Le problème est que pour mon programme, je devrais d'abord utiliser le numéro de la colonne pour le convertir en lettre et insérer cette lettre dans ma commande Range, ce qui n'est pas pratique et qui implique une lourdeur supplémentaire du code.

    Y-a t-il une alternative qui permet de travailler avec le numéro de colonne et non avec sa lettre?

  2. #2
    Expert confirmé
    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
    Par défaut
    Bonjour,
    Utilises Cells(Row,column)
    Cells(1,2) équivaut à Range ("B1")

    les 2 peuvent s'imbriquer...
    cf l'aide vba etc...

    cordialement,

    Didier

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 31
    Par défaut
    Bonjour ormonth,

    cells(1,2) équivaut à Range ("B1"),
    mais quoi équivaut à Range("B1:B9") ?

    merci

  4. #4
    Expert confirmé
    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
    Par défaut
    bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub toto()
     
    Range(Cells(1, 2), Cells(9, 2)).Select
     
    End Sub
    sinon, un petit effort ne fait pas de mal
    je t'avais conseillé de voir l'aide vba

    Range, propriété
    Exemple
    Telle qu'elle s'applique aux objets Application, Range et Worksheet.

    Cet exemple montre comment affecter le style italique à la police des cellules A1:C5 de la feuille « Sheet1 ». L'exemple utilise la Syntaxe 2 de la propriété Range.

    Worksheets("Sheet1").Range(Cells(1, 1), Cells(5, 3)). _
    Font.Italic = True


    cordialement,

    Didier

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 31
    Par défaut
    merci de la réponse, mais ça ne fonctionne pas, ça bloque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(WB).ActiveChart.SetSourceData Source:=Sheets("Sheet1").range(Cells(7, 9), Cells(17, 9)), PlotBy:=xlColumns

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir

    mais ça ne fonctionne pas, ça bloque
    difficile de répondre sans plus de détails.


    remplace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Sheet1").range(Cells(7, 9), Cells(17, 9))
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Sheet1").range(Worksheets("Sheet1").Cells(7, 9), Worksheets("Sheet1").Cells(17, 9))

    bonne soirée
    michel

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 31
    Par défaut
    ça ne marche pas non plus
    erreur 1004

  8. #8
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("classeur1").ActiveChart
    Lorsque tu utilises cette syntaxe, la feuille contenant le graphique doit être préalablement active, et le graphique doit être sélectionné,
    est ce le cas lors de tes essais ?


    bonne soirée
    michel

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 31
    Par défaut
    c'est préalablement sélectionner, mais ça ne marche pas, j'ai donc abandonné et converti le numéro de la colonne en lettre.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/04/2014, 14h16
  2. [TSQL]Probleme d'insertion d'une chaine (varchar) contenant un simple quote
    Par Anthony.Desvernois dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/07/2007, 16h57

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