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 :

[XL-2003] Sélection de plage


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Géomaticien
    Inscrit en
    Avril 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Avril 2009
    Messages : 21
    Par défaut [XL-2003] Sélection de plage
    Bonjour,

    J'ai un problème pour mofifier le style des bordures d'une plage. Etant débutant dans la programmation Excel j'ai été voir sur le net les méthodes à utiliser mais je n'arrive pas à la faire fonctionner (même en utilisant le créateur de macro).

    Voilà le déroulement de l'opération : je commence par créer une nouvelle feuille, je lui rentre des valeurs (certaines cellules peuvent rester vides) et ensuite j'essaie de changer les bordures avce le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Worksheets("" & nomprec & "").Range("A11:AA" & j + 8).Select
                    With Selection.Borders(xlEdgeLeft)
                        .LineStyle = xlContinuous
                        .Weight = xlThin
                        .ColorIndex = xlAutomatic
                    End With
                    With Selection.Borders(xlEdgeTop)
                        .LineStyle = xlContinuous
                        .Weight = xlThin
                        .ColorIndex = xlAutomatic
                    End With
                    With Selection.Borders(xlEdgeBottom)
                        .LineStyle = xlContinuous
                        .Weight = xlThin
                        .ColorIndex = xlAutomatic
                    End With
                    With Selection.Borders(xlEdgeRight)
                        .LineStyle = xlContinuous
                        .Weight = xlThin
                        .ColorIndex = xlAutomatic
                    End With
                    With Selection.Borders(xlInsideVertical)
                        .LineStyle = xlContinuous
                        .Weight = xlThin
                        .ColorIndex = xlAutomatic
                    End With
                    With Selection.Borders(xlInsideHorizontal)
                        .LineStyle = xlContinuous
                        .Weight = xlHairline
                        .ColorIndex = xlAutomatic
                    End With
    et là j'ai une erreur 1004 qui me dit que le méthode select de la classe range a échoué

    Est ce que j'ai oublié un truc dans le code ?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Par défaut
    Pour faire plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub sc()
    Dim cellule As Range
    Dim j 'je ne comprends pas l'intérêt de j
        For Each cellule In Range("A11:AA" & j + 8)
            cellule.BorderAround ColorIndex:=xlAutomatic
        Next cellule
    End Sub
    Evite aussi les select ça ne sert à rien et ça ralentit énormément

  3. #3
    Membre averti
    Homme Profil pro
    Géomaticien
    Inscrit en
    Avril 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Avril 2009
    Messages : 21
    Par défaut
    Ca marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim j 'je ne comprends pas l'intérêt de j
    en fait ma plage est crée automatiquement et sa taille n'est pas fixe donc le j est là pour délimiter cette plage

    merci JPierreM

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut nicolast et le forum
    Bienvenue
    Si tu as besoin d'aide, aide nous!
    Donner un extrait d'une macro, ne sert à rien! On a pas les infos nécessaires! Et ne connaissant pas suffisamment le VBA, tu ne peux donner les infos nécessaires..., sinon tu n'aurais pas besoin de nous.
    On peut éventuellement te répondre au hazard, mais la chance de tomber juste...
    Alors au hazard :
    – Un module de classe, incompatible avec ton select
    – Une déclaration dans un type incompatible avec les valeurs des variables
    – Worksheets("" & nomprec & "") est une feuille n'existant pas
    ETC...
    A+

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

Discussions similaires

  1. débutant: sélection de plage
    Par billy78 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/08/2007, 15h23
  2. Sélection d’une plage de cellule
    Par Domver dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/07/2007, 14h16
  3. Réponses: 1
    Dernier message: 09/03/2007, 07h52
  4. [Access 2003] Sélection d'un table avec exclusion
    Par morpheez dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/11/2006, 11h16
  5. Macro en fonction d'une sélection de plage de cellules.
    Par Labiche dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/08/2006, 10h23

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