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 :

Coordonnées de la premiere cellule d'une plage sélectionnée.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 25
    Par défaut Coordonnées de la premiere cellule d'une plage sélectionnée.
    Bonjour.

    Je suis en train de créer une macro.
    J'arrive :
    • a récupérer l'adresse d'une plage de cellules sélectionnées (selection.address),
    • le nombre de colonne (selection.Columns.count)
    • et de ligne (selection.Rows.count) dans la sélection.

    Mais j'arrive pas à me positionner dans la 1ere cellule de la sélection (en haut a gauche, mais dans la sélection).
    Lorsqu'on sélectionne une plage, la cellule active est l'un des quatre coins, mais comment placer la cellule active en haut a gauche de la sélection (sachant que ma feuille de calcul peut-être totalement vierge.)

    Merci

  2. #2
    Membre chevronné
    Inscrit en
    Janvier 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 483
    Par défaut
    Bonjour
    peut être avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Item(1).Select
    Bonne journée.

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TaPlageSelectionnée.Cells(1,1).select

  4. #4
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour talondachil Abed_H mercatog le forum une autre methode.
    si tu connais la plage!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub ess()
    With Range("t15:u34")
    'MsgBox Cells(.Row, .Column).Address
    Cells(.Row, .Column).Select
    End With
    If Cells.Find("*") Is Nothing Then [a1].Select
    End Sub
    si tu sélectionne une plage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub es()
    With Selection
    'MsgBox Cells(.Row, .Column).Address
    Cells(.Row, .Column).Select
    End With
    If Cells.Find("*") Is Nothing Then [a1].Select
    End Sub
    a adapter
    ps la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells.Find("*") Is Nothing Then [a1].Select
    te renvoi en cellule a1 si la feuille est vierge a supprimer ou garder!!!

  5. #5
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 25
    Par défaut
    Merci pour votre aide.

    Le but de ma macro est de modifier la couleur d'arrière plan des cellules, 1 lignes sur 2.
    J'ai trouver sur le net en utilisant la mise en forme conditionnel =MOD(LIGNE(); 2), mais cela ne marche que sur les cellules vides.

    En gros, l'utilisateur sélectionne les champs qui seront affectés et clique sur un bouton pour lancer la macro.

    Avec la méthode de Abed_H, j'arrive a me placer sur la première cellule de la sélection (je pense que le item(1) sert a ça. Si je fais item(3), ça me place sur la 3eme cellule ??? j'ai pas testé !!!!)

    La solution de mercatog, j'ai pas testé, mais si ça marche, je pourrai facilement me déplacer sur une ligne puis dans les colonnes avec une incrémentation.

    Je vais tester ça et je vous tiens au courant demain. Je mettrai en ligne mon script quand il fonctionnera.

  6. #6
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    rebonjour le fil si seulement colorier la selection tu peus faire un truc comme cela a adapter!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Sub es()
     Dim m As Range, l As Long, c As Long, mc, val As Variant
     Set m = Selection: l = ActiveCell.Row: c = ActiveCell.Column
     Set mc = ActiveSheet.Cells(l, c)
     val = mc.Address(RowAbsolute:=False, columnabsolute:=False)
     m.Select
     Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
     "=MOD(LIGNE(" & val & ");2)"
     Selection.FormatConditions(1).Interior.ColorIndex = 3 'couleur a choisir rougepour exemple
     ActiveCell.Select
     End Sub
    bonsoir mercatog effectivement beaucoup plus simple bravo. j'ai fait du trés lourd pour pas grand chose passe une bonne soirée bisous leti a+

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

Discussions similaires

  1. protection cellule dans une plage
    Par michel13 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/04/2008, 00h29
  2. Adresse de Cellule d'une plage nommée
    Par edelweisseric dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/06/2007, 09h13
  3. [VBA-E] Format de cellule d'une plage
    Par steps5ive dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/01/2007, 22h28
  4. effacer des caracteres dans chaque cellule d'une plage
    Par chamus dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/11/2006, 17h14
  5. insérer un caractere dans chaque cellule d une plage
    Par chamus dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/10/2006, 17h23

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