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 :

Sélectionner une cellule.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 57
    Par défaut Sélectionner une cellule.
    Hello à vous .

    Un code simple mais qui me met dans l''embarras ...

    je me place sur une cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
     
    'on prend en ref la ligne sélectionnée (Ligne et colonne)
    Ln = Selection.Row
    Col = Selection.Column
     
    'on place le curseur sur la case de la ligne prise en ref et la colonne N° 3 soit la colonne "C" 
       Range(Cells(Ln, 3)).Select
    End Sub
    cela ne marche pas, et je ne vois pas ou je fais l'erreur..
    Car on peut Faire Range("C3").Select
    mais avec Range(Cells(Ln, 3)).Select cela ne passe pas ???

    Merci de votre aide

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 170
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    C'est soit Cells(ln, 3).Select, soit Range("C" & ln).Select
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 57
    Par défaut
    Ok merci.

    Par contre on peut faire :
    Cells(ln, 3) = 10 et Range("C" & ln)=20
    2 notations différentes ok , mais différence entre cells et range ?

    intuition ..
    cells ne peut concerner qu'une cellule et une seule...
    mais range peut en concerner plusieurs ?
    Est ce correct ?

    enfin ..
    ** B= indice 2, AE = indice 56

    Range("B56:AE56").Select est une instruction correct
    **
    => comment introduire une variable "Ln" dedans ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("B" & Ln : "AE" & Ln).Select
    Range (Cells(ln, 2) : Cells(ln, 31)).Select
    Ces 2 instructions ne passent pas ?

    Trouvé ... Range(Cells(Ln, 2), Cells(Ln, 31)).Select.

    C'était le caractère ":" qui gênait... il faut mettre la virgule..
    avec l'instruction "," cela fonctionne.

    Par contre si on veut sélectionner plusieurs plages en même temps avec une variable Ln ?? comment faire ?

    soit Ln une Ligne dont on veut sélectionner en même temps plusieurs plages : 1° Plage (A & Ln jusqu'à E & Ln) et 2° Plage (G & Ln jusqu'à K & Ln)

    Sans variable Ln (exemple avec la ligne N° 2 ) : Range("A2:E2,G2:K2").Select => instruction correct..


    Mais si on veut introduire une variable Ln ??

    car cette instruction (A =1, E=5, G=7, K=2)
    => Range(Cells(Ln, 1), Cells(Ln, 5), Cells(Ln, 7), Cells(Ln, 11)).Select ne passe pas ?

    Merci de votre aide

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 170
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Trois instructions valables pour sélectionner la plage A1:C8
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range("A1:C8").Select
    Range(Cells(1, 1), Cells(8, 3)).Select
    Range(Range("A1"), Range("C8")).Select
    Cependant, oubliez les méthodes Select, Activate.

    En Vba, sauf cas exceptionnel, elles sont parfaitement inutiles. On le répète en suffisance sur ce forum.
    Il n'y a aucune raison de sélectionner des cellules, feuilles ou classeur pour écrire, copier, coller, modifier les propriétés etc.

    Il y a lieu simplement de préciser la parentalité de l'objet que l'on traite voir mon billet sur le sujet VBA - La parentalité d’un objet
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 57
    Par défaut
    Re,

    je vais aller voir le sujet "VBA - La parentalité d’un objet"
    vu pour les Trois instructions valables pour sélectionner la plage A1:C8

    Mais si on veut en même temps sélectionner "A2:E2" , (pas F2) et "G2:K2",
    2 zones en même temps..
    en introduisant une variable "Ln"

    Range("A2:E2,G2:K2").Select est correct mais avec une variable "Ln" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(Ln, 1), Cells(Ln, 5), Cells(Ln, 7), Cells(Ln, 11)).Select
    y a-t-il un moyen ?

  6. #6
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    1 023
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 1 023
    Par défaut
    Bonjour
    Il faut inclure ":" dans votre formule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B" & Ln : "AE" & Ln).Select
    Devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B" & Ln & ":AE" & Ln).Select
    Mais ce n'est pas souvent une bonne idée de sélectionner des cellules.
    Cordialement.

Discussions similaires

  1. sélectionner une cellule d'un TStringgrid
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 10
    Dernier message: 12/02/2010, 20h00
  2. Sélectionner une cellule avec une variable
    Par John81 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/12/2008, 18h05
  3. [2.0 DataGridView] comment sélectionner une cellule par le code
    Par juniorAl dans le forum Windows Forms
    Réponses: 5
    Dernier message: 01/07/2008, 19h46
  4. [TStringGrid] Comment sélectionner une cellule ?
    Par zidenne dans le forum Composants VCL
    Réponses: 1
    Dernier message: 18/11/2005, 10h45
  5. [JTable] Sélectionner une cellule
    Par GENERYS dans le forum Composants
    Réponses: 2
    Dernier message: 12/10/2005, 15h57

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