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 :

Accès à une cellule [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Par défaut Accès à une cellule
    Bonjour à tous,

    Je souhaiterais récupérer une cellule dans une objet Excel.Range à partir de la ligne d'une cellule et de la colonne d'une autre cellule, les deux étant stocké dans des objets Excel.Range.

    Actuellement, j'utilise le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set myRange = myWorksheet.Range(Split(Columns(myRange1.Column).Address(ColumnAbsolute:=False), ":")(1) _
    & myRange2.Row)
    J'imagine qu'il existe une solution plus simple...

    Je vous remercie d'avance pour vos réponses

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    bonjour
    en gros tu veut recupérer la derniere cellule en bas a droite d'une plage
    exemple avec la plage de a1 a f10
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set adresse=replace(split(range("a1:f10"),":")(1),"$","")
    bien que la suppression des dollars dans l'adresse n'est pas obligatoire
    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Par défaut
    Bonjour patricktoulon,

    Je ne souhaite pas récupérer une plage mais une cellule.
    J'ai du mal m'exprimer sur mon premier message donc je reprends.

    J'ai trois cellules:
    • myRange, a qui je souhaite affecter une valeur
    • myRange1, qui contient une cellule dont je ne souhaite récupérer que la colonne
    • myRange2, qui contient une cellule dont je ne souhaite récupérer que la ligne


    myRange1 et myRange2 contiennent des valeurs qui ont été déterminée plus tôt par une autre fonction.

    Je vais finir par un exemple pour être sûr d'être bien compris. Admettons que ma fonction me donne myRange1 = "C8" et myRange2 = "B5". Je souhaite donc que myRange = "C5".
    J'espère que j'ai été plus clair que dans mon premier message

    Merci encore

  4. #4
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Salut,

    vu d'ici ça a l'air simple ou trop simple, as-tu essayé les fonctions suivantes ?
    .Row
    .Column
    .Value

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyValue = objWorksheet.Cells(myRange1.row, myRange2.column).Value
    ou pour récupérer une plage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MyRange = objWorksheet.Cells(myRange1.row, myRange2.column)

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 27
    Par défaut
    Oui, c'est exactement ce que je recherchais! Merci beaucoup!

    Je ne connaissais pas la propriété Cells de Worksheet, je passais toujours pas Range et je trimbalais des formules super longues pour accéder à une cellule alors que j'avais toutes les infos!

    Encore merci cefeine et patricktoulon, et bonne journée

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

Discussions similaires

  1. Accés à une cellule d'un tableau JSON par son index
    Par mappy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/09/2013, 15h45
  2. [XL-2007] Fct : Range accès à une cellule par son "index"
    Par Bleys dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/11/2009, 18h43
  3. Accès au contenu d'une cellule
    Par Tygrou dans le forum VBA Project
    Réponses: 2
    Dernier message: 28/11/2008, 12h21
  4. Réponses: 2
    Dernier message: 07/10/2008, 14h11
  5. [VB]Excel - Accès à une cellule nommée
    Par andrew07 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/02/2006, 13h01

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