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 :

Adresse de Cellule d'une plage nommée


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Points : 712
    Points
    712
    Par défaut Adresse de Cellule d'une plage nommée
    Bonsoir à tous

    Je n'ai pas réussi à trouver, donc je m'adresse à vous.

    J'ai une plage nommée par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       range("B2:E6").Name="maplage"
    avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Range("maplage").Range(A1").Select
    sélectionne la première cellule de la plage "maplage", c'est à dire la cellule "B2" de la feuille

    Je recherche le code qui me donne la ligne, la colonne, l'adresse,..., de la cellule sélectionnée dans la plage par la souris.

    Merci d'avance

    Eric

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Adresse, ligne, colonne
        Adresse = Target.Address
        ligne = Target.Row
        colonne = Target.Column
    End Sub
    A placer dans la feuille de code de la feuille de calculs concernée
    A+

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    je vais encor epasser pour un cherchepourrien, mais je crois que fleur des montagnes, n'attend pas ça comme réponse. elle veut l'addresse par rapport a sa plage de référence c'est a dire maplage, c'est a dire range("B2:E6"). moi je dis ça parce que comme à l'école, j'ai relus trois fois l'énoncé, mais je ne connais pas la réponse

  4. #4
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Points : 712
    Points
    712
    Par défaut
    Bonjour à tous

    Merci ouskel'n'or mais cela me donne la cellule de la feuille mais pas celle de la plage
    Je recherche le code qui me donne la ligne, la colonne, l'adresse,..., de la cellule sélectionnée "A1" dans la plage par la souris et non "B2"

    Je joins un fichier pour que cela soit plus clair

    Eric

    PS : Pas raffraichi, mais pas résolu
    Fichiers attachés Fichiers attachés

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par alsimbad
    je vais encor epasser pour un cherchepourrien, mais je crois que fleur des montagnes, n'attend pas ça comme réponse. elle veut l'addresse par rapport a sa plage de référence c'est a dire maplage, c'est a dire range("B2:E6"). moi je dis ça parce que comme à l'école, j'ai relus trois fois l'énoncé, mais je ne connais pas la réponse
    Moi aussi j'ai bien lu la question mais pour transformer B2 en A1, je ne sais pas faire non plus. Enfin, si, en soustayant le décalage entre A et B.
    Si j'étais "obligé"...
    En supposant que la plage couvre, par exemple... ("B2:E6"), et en partant de mon code, on pourrait facilement convertir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Adresse, ligne, colonne
        ligne = Target.Row - 1
        colonne = Target.Column - 1
        adresse = Cells(Ligne,Colonne).address
    End Sub
    Suffirait de mettre une condition pour être certain de rester dans la plage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Target.Row > 1 and Target.row < 7 and Target.Colonne > 1 and Target.column < 6 then
    'etc.
    Mais je vois bien que ce n'est pas ce que edelweisseric désire, allez !

  6. #6
    Membre averti Avatar de mordrhim
    Inscrit en
    Avril 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 270
    Points : 314
    Points
    314
    Par défaut
    Citation Envoyé par edelweisseric
    Bonsoir à tous

    Je n'ai pas réussi à trouver, donc je m'adresse à vous.

    J'ai une plage nommée par :

    avec ce code :
    Range("maplage").Range(A1").Select sélectionne la première cellule de la plage "maplage", c'est à dire la cellule "B2" de la feuille

    Je recherche le code qui me donne la ligne, la colonne, l'adresse,..., de la cellule sélectionnée dans la plage par la souris.

    Merci d'avance

    Eric
    Ouskel je te pique ton code ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    range("B2:E6").Name="maplage"
    Range("maplage").Range(A1").Select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Adresse, ligne, colonne
        Range("B2:E6").Name = "maplage"
        ligne = Target.Row - Range("maplage").Row + 1
        colonne = Target.Column - Range("maplage").Column + 1
        MsgBox (Chr(colonne + 64) & ligne)
    End Sub

  7. #7
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Points : 712
    Points
    712
    Par défaut
    Bonjour à tous

    Dans le même style que mordrhim j'avais déjà écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim plage As Range
    Set plage = Range("b6:d10")
    maligne = ActiveCell.Row - plage.Cells.Row + 1
    macolonne = ActiveCell.Column - plage.Cells.Column + 1
    ou tout simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim plage As Range
    Set plage = Range("b6:d10")
    maligne = ActiveCell.Row - plage.Row + 1
    macolonne = ActiveCell.Column - plage.Column + 1
    mais il est étonnant que l'on ne puisse pas récupérer ces informations sans ses "bidouilles"

    Merci à vous, je laisse le débat ouvert

    Eric ou fleur des montagnes comme dit alsimbad

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    en fait tu peux peux etre faire ce que tu souhaite en travaillant en r1c1. là tu fera avec des references relatives a une cellule, donc le A1 de taplage. mais bon, personnelement, je conseille pas, il en faut peux pour etre completement décalé

  9. #9
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Points : 712
    Points
    712
    Par défaut
    Bonjour à tous

    La nuit porte conseil !!!!! et bien là non

    Merci alsimbad, mais on reste dans la bidouille, et surtout on risque le désastre, la catastrophe,.... et pire peut être

    Eric

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/05/2015, 21h35
  2. Réponses: 3
    Dernier message: 12/09/2013, 11h27
  3. Auto completion d'une cellule à partir d'une plage nommée
    Par p2n2k2 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/01/2009, 17h52
  4. 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
  5. [VBA E]adresse de cellule d'une selection
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/07/2006, 23h37

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