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 :

erreur 1004 horizontalalignment [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2012
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 94
    Par défaut erreur 1004 horizontalalignment
    Bonjour à tous,

    je reviens vers vous quelque pour un nouveau problème.
    J'ai besoin de formater des lignes selon leurs "niveaux" et qu'elles possèdent des filles ou non (une arborescence en gros).

    Côté conditions et tout, ça marche. Les lignes sont bien reconnues comme ils faut.
    Côté formatage... Ca devient plus drôle. En effet, les propriétés de formatages bloquent sans raison apparentes. J'essaye de contourner les problèmes avec des solutions plus ou moins propres, mais là je bloque sur la propriété HorizontalAlignment. Celle-ci refuse de fonctionner malgré tous mes essais. J'ai tenté d'utiliser les constantes XLDirection (XlLeft, XlCenter), les valeurs (-4108, -4131), différents noms de constantes (XlToLeft, XlHAlignLeft)... Toujours et encore erreur 1004.

    Je vous fournit ma méthode :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    Sub FormatOffre(ByVal ligne As Integer)
     
        Dim couleurfond(4) As Integer
        Dim textegras(4) As Boolean
        Dim orientationtexte(4) As XlDirection
     
        couleurfond(0) = couleurfond(1) = 6
        couleurfond(2) = 34
        couleurfond(3) = 40
     
        textegras(0) = textegras(1) = True
        textegras(2) = textegras(3) = False
     
        orientationtexte(0) = orientationtexte(1) = xlCenter
        orientationtexte(2) = orientationtexte(3) = xlLeft
     
        niveau = Cells(ligne, 1).Value
        'zone = Range("B" & ligne, "I" & ligne)
        'La propriété colorindex bug avec le range (pourquoi ?) donc
        'j'ai remplacé zone par une boucle sur les cellules.
        For i = 2 To 9
            Cells(ligne, i).Interior.ColorIndex = couleurfond(niveau - 1)
            Cells(ligne, i).Font.Bold = textegras(niveau - 1)
        Next
        MsgBox "fin boucle"
        'et là, ça bug. Magie.
        Cells(ligne, 3).HorizontalAlignment = orientationtexte(niveau - 1)
        MsgBox "fin application format ligne"
     
        With Cells(ligne - 1, 2)
            If niveau < Cells(ligne + 1, 1).Value Then
                .Font.ColorIndex = .Interior.ColorIndex
                .Font.Bold = True
            Else
                .Font.ColorIndex = 1
            End If
        End With
     
    End Sub
    Je précise que la méthode se trouve dans le code de la feuille traitée et qu'elle est de plus active.

    Merci d'avance aux génies qui trouveront l'erreur

  2. #2
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    Bonjour,

    As tu essayé de remplacer cells par range ?

    J'ai personnellement toujours utilisé Range pour formater des cellules lignes etc ...

  3. #3
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,

    tu confond l'opérateur d'affectation "=" et l'opérateur d'égalité "="


    ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       orientationtexte(0) = orientationtexte(1) = xlCenter
    revient à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       orientationtexte(0) = (orientationtexte(1) = xlCenter)
    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       orientationtexte(0) = False

    Utilise une ligne par affectation ..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    orientationtexte(0) = xlCenter
    orientationtexte(1) = xlCenter

  4. #4
    Membre éprouvé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2012
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 94
    Par défaut
    Ah d'accord, je pensais que ça fonctionnait comme en c/c++ pour la gestion des affectations. Il faut avouer que la double signification du = est pas tip top .

    Voila, après test ça fonctionne, merci beaucoup

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

Discussions similaires

  1. pb Range: erreur 1004
    Par charlie105 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2006, 17h10
  2. [VB-E] Erreur 1004 dans une boucle For
    Par lycaon dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/11/2006, 22h41
  3. [VBA][EXCEL]Erreur '1004' avec "Application.Run"
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/01/2006, 10h50
  4. [Excel] Erreur 1004 avec un search
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/12/2005, 13h54
  5. Insérer une image : Erreur 1004
    Par dp_favresa dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 26/10/2005, 14h01

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