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 :

Dessiner un rectangle sur une plage de cellules donnée


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Dessiner un rectangle sur une plage de cellules donnée
    Bonjour les experts.....

    Est ce que quelqu'un peux me dire comment tracer un rectangle en utilisant un nom de cellule pour ordonnée et non pas le point de positionnement à l' écran comme me le donne un enregistrement de macro?

    Ex- tracer un rectangle blanc dur la plage de cellules "A1","B7".

    Merci d' avance pour votre aide.

  2. #2
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Range("A4:C12")
        ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left, .Top, .Width, .Height).Select
    End With
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Desolé....Bug
    Merci Mercatog,

    apres un essai j'ai le message suivant à l'ecran:
    Erreur définie par l'application ou par l'objet.

    Voici ma syntaxe. (J'utilise des cellules indéxées pour déplacer le rectangle suivant le besoin)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Range((IndexCol1 & "23"), (IndexCol2 & "29"))
        ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left, .Top, .Width, .Height).Select
    End With

  4. #4
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Range(Cells(23, IndexCol1), Cells(29, IndexCol2))
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  5. #5
    Membre régulier
    Homme Profil pro
    Formateur & Dévrloppeur en Bureautique
    Inscrit en
    Février 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formateur & Dévrloppeur en Bureautique

    Informations forums :
    Inscription : Février 2007
    Messages : 47
    Points : 85
    Points
    85
    Par défaut Ma solution
    Bonjour,
    je te propose ce code que j'utilise souvent pour pouvoir aligner au millimètre plusieurs graphiques dans la même feuille de calcul

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Dessine_Rectangle()
     
    Gauche = Range("A1").Left
    Haut = Range("A1").Top
    Largeur = Range("A1:B7").Width
    Hauteur = Range("A1:B7").Height
     
    ActiveSheet.Shapes.AddShape(msoShapeRectangle, Gauche, Haut, Largeur, Hauteur).Select
     
    End Sub
    bon courage

  6. #6
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup, c' est ok....
    Seul petit problème, si je peux me permettre. Je pensais pouvoir facilement effacer cette figure en la sélectionnant. Mais, non... Impossible de faire une sélection.
    Peux tu me dire comment retrouver les cellules cachées par ce masque?

    Merci d' avance

  7. #7
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Merci,

    je ne sais pas si tu peux lire la réponse donnée par Mercatog...
    C' est celle que j'applique. En 2 lignes, le tour est joué...

    A bientôt pour d' autres questions... VBA est un monde qui me fascine mais que je ne maîtrise pas.

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

Discussions similaires

  1. [DAO] SQL sur une plage de cellules
    Par cafeine dans le forum Contribuez
    Réponses: 8
    Dernier message: 01/03/2008, 22h47
  2. Comment creer un recordset ADO sur une plage de cellules
    Par JYL74 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2007, 09h36
  3. Dessiner un rectangle sur une image
    Par pika84 dans le forum 2D
    Réponses: 5
    Dernier message: 11/06/2007, 21h45
  4. [Image]Dessiner des rectangles sur une image
    Par navona dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 09/03/2006, 22h51
  5. Dessiner un rectangle sur une forme
    Par Neo41 dans le forum MFC
    Réponses: 6
    Dernier message: 13/08/2005, 01h08

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