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 400 : création de barres d'avancement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 97
    Par défaut Erreur 400 : création de barres d'avancement
    Bonjour !

    Je fais un truc un peu tordu en ce moment.

    je créé des rectangle de tailles variables qui vont former des barres d'avancement (un peu comme des barres de télechargement).

    Les tailles vont donc changer selon des pourcentages calculés a partir de tableaux.

    J'ai déja réussi a en faire plusieurs et ça marche très bien.

    Mon problème c'est que je dois en faire une qui prendra en compte plusieurs moyennes. donc la barre aura la forme de plusieurs barres de chargement collées les une a la suite des autres. (Vous me suivez toujours ? )

    Et la j'ai une erreur 400. J'ai cru comprendre que ça veux dire qu'il y à un conflit et qu'une variable prend plusieurs valeurs différentes en même temps (mais je ne suis pas sur d'avoir bien compris...)
    Je ne vois pas d'ou ça peut venir...

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    Sub barrePE()
     
    nbCellsJalPE
    moyennePE
     
    Dim a, b, c, d, i, j(12) As Integer
    a = -1
    d = -1
     
    For c = 0 To 12
        DeleteShape (c + 100)
        DeleteShape (c + 200)
        j(c) = 0
    Next c
     
    For i = 0 To Cells(89, 1).Value - 1
     
        If Cells(82, 12 + i).Value <> "" Then
            a = a + 1
            j(a) = Cells(80, 12 + i).Value 'recupères des valeur pour séparer les différentes barres d'avancement
     
        End If
     
    Next i
     
    For b = 0 To Cells(89, 1).Value - 1
    d = -1
        Dim CoordX, CoordY  As Double
        Dim hauteur, Hauteur1, largeur As Double
        Dim CoordX1, CoordY1  As Double
        Dim Hauteur2 As Double
        Hauteur1 = 0
        If j(b) = 0 Then
     
        Else
                CoordX = Cells(23, j(b) + 8 - nbCellsJalonPE(j(b) - 1)).Left
                CoordY = Cells(23, j(b) + 8 - nbCellsJalonPE(j(b) - 1)).Top
            For i = 0 To nbCellsJalonPE(j(b) - 1) - 1
                d = d + 1
                Hauteur1 = Hauteur1 + Cells(23, 8 + j(b) - nbCellsJalonPE(j(b) - 1) + d).width
     
            Next i
                hauteur = (Hauteur1 * moyPE(j(b) - 1))
                largeur = Cells(23, 8 + b).RowHeight
     
                With ActiveSheet.Shapes.AddShape(msoShapeRectangle, CoordX, CoordY, hauteur, largeur)  'crée un rectangle de taille variable
                    .Name = "fait" & j(b) + 100
                    .DrawingObject.Interior.ColorIndex = 43
                End With
     
                CoordX1 = Cells(23, j(b) + 8 - nbCellsJalonPE(j(b) - 1)).Left + hauteur
                CoordY1 = Cells(23, j(b) + 8 - nbCellsJalonPE(j(b) - 1)).Top
                Hauteur2 = Hauteur1 - (hauteur)
     
                With ActiveSheet.Shapes.AddShape(msoShapeRectangle, CoordX1, CoordY1, Hauteur2, largeur)  'crée un rectangle de taille variable
                    .Name = "fait" & j(b) + 200
                    .DrawingObject.Interior.ColorIndex = 3 
                End With
        End If
    Next b
    End Sub
    quelqu'un a une idée ?
    Si vous ne m'avez pas suivi, demandez des précision, j'ai trop baigné dans mon sujet pour y voir clairement

  2. #2
    Membre éclairé Avatar de Orhleil
    Homme Profil pro
    Intégrateur fonctionnel
    Inscrit en
    Mai 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Intégrateur fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 81
    Par défaut
    En général quand j'ai l'erreur 400 moi c'est qu'un Range a échoué. La cause peut être que ta feuille est protégée, ou que tu utilises un Range mal attribué.
    Je suis d'accord l'erreur est tout sauf claire u_u Mais d'habitude au final c'est un truc tout con =p
    Essaie de cibler un peu à quelle ligne l'erreur survient (commente des morceaux).

Discussions similaires

  1. [VBA-E]erreur sur création d'une barre de menu
    Par roseau dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/03/2007, 11h17
  2. [Sessions] Message erreur PHP création de session
    Par Ylias dans le forum Langage
    Réponses: 2
    Dernier message: 29/09/2005, 11h11
  3. Réponses: 26
    Dernier message: 27/04/2005, 11h29
  4. Réponses: 3
    Dernier message: 12/11/2003, 15h57

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