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 :

code erreur 400 [XL-2007]


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
    manager
    Inscrit en
    Février 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : manager
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2010
    Messages : 56
    Par défaut code erreur 400
    Re à toutes et à tous,

    J'ai modifié une macro en ajoutant un offset et depuis j'ai un code erreur 400 qui arrive.

    j'ai donc supprimé cette modif mais cela n'a rien changé toujours l'erreur.

    A quoi correspond ce code erreur.
    Si vous avez une idée elle est le bien venu

    Merci
    A+

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Sans nous montrer le code, il sera difficile pour nous de te donner un coup de main.

    Hervé.

  3. #3
    Membre confirmé
    Homme Profil pro
    manager
    Inscrit en
    Février 2010
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : manager
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2010
    Messages : 56
    Par défaut
    re,

    voila donc le code, mais je ne comprend pas car c'est le même code utilisé sur un autre fichier et il fonctionne très bien.
    A ne rien comprendre.

    A chaque fois il ne dit que j'ai une erreur code visual basic 400

    merci à vous

    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
    Sub Rectangle3_Clic()
    ' ActiveSheet.Unprotect
    Dim ZoneàModifier As Range
    Dim cellule As Range
    'Affecte une couleur en fonction de la valeur de la cellule
    Set ZoneàModifier = Range("A17:A385")
    For Each cellule In ZoneàModifier
    Select Case cellule
    Case Is = "" ' si la case est vide
    cellule.Interior.ColorIndex = 2 'couleur font blanche
    Case Is = "Bleu" ' si la case est bleu
    cellule.Interior.ColorIndex = 5 'couleur font bleu
    Case Is = "Verte" ' si la case est Verte
    cellule.Interior.ColorIndex = 4 'couleur font verte
    Case Is = "Orange" ' si la case est Orange
    cellule.Interior.ColorIndex = 46 'couleur font Orange
    Case Is = "Rose" ' si la case est Rose
    cellule.Interior.ColorIndex = 7 'couleur font Rose
    Case Is = "Jaune" ' si la case est Jaune
    cellule.Interior.ColorIndex = 6 'couleur font Jaune
    End Select
    'cellule.Offset(0, 1).Interior.ColorIndex = cellule.Interior.ColorIndex ' décale d'une case vert la droite et de zero vers le bas et font identique à la cellule de départ
    'cellule.Offset(0, 2).Interior.ColorIndex = cellule.Interior.ColorIndex ' décale de 2 cases vert la droite et de zero vers le bas et font identique à la cellule de départ
    'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Next
    End Sub

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Quelques petits points.

    Déclaration de tes variables :
    1. Évites de mettre des accents dans le nom de tes variables
    2. Mets au moins un caractère Majuscule dans le nom. (Lors de la saisie de cett dernière dans le code, si VBA ne met pas de majuscule cela signifiera que tu as fait une erreur de frappe)

    Mise en Forme: Utilises les tabulations afin de respecter l'arborescence de ton code (Entrée dans une boucle, if etc...) Voir le code proposé ci dessous

    Select case : Si tu ne spécifie pas la propriété à testé, par exemple "Select case Cellule", il n'est pas certain que VBA comprenne qu'il faille tester la valeur et non l'objet Range.
    C'est pour cela qu'il vaut mieux spécifier la propriété => "Select case Cellule.Value" pour enlever toute ambiguïté

    et pour firnir, Select case respectant la casse (Majuscule et minuscule), il vaut mieux tester une valeur toute minuscule ou majuscule (comme exemple ci dessous)

    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
    Sub Rectangle3_Clic()
    ' ActiveSheet.Unprotect
     
    Dim ZoneaModifier As Range
    Dim Cellule As Range
     
    'Affecte une couleur en fonction de la valeur de la cellule
    Set ZoneaModifier = Range("A1:A10")
     
    For Each Cellule In ZoneaModifier
        Select Case UCase(Cellule.Value)
            Case "" ' si la case est vide
                Cellule.Interior.ColorIndex = 2 'couleur font blanche
            Case "BLEU"  ' si la case est bleu
                Cellule.Interior.ColorIndex = 5 'couleur font bleu
            Case "VERTE"  ' si la case est Verte
                Cellule.Interior.ColorIndex = 4 'couleur font verte
            Case "ORANGE"  ' si la case est Orange
                Cellule.Interior.ColorIndex = 46 'couleur font Orange
            Case "ROSE"  ' si la case est Rose
                Cellule.Interior.ColorIndex = 7 'couleur font Rose
            Case "JAUNE" ' si la case est Jaune
                Cellule.Interior.ColorIndex = 6 'couleur font Jaune
        End Select
    'cellule.Offset(0, 1).Interior.ColorIndex = cellule.Interior.ColorIndex ' décale d'une case vert la droite et de zero vers le bas et font identique à la cellule de départ
    'cellule.Offset(0, 2).Interior.ColorIndex = cellule.Interior.ColorIndex ' décale de 2 cases vert la droite et de zero vers le bas et font identique à la cellule de départ
    'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Next
     
    End Sub
    NB: je n'ai pas d'erreur 400

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    Pour compléter ce qu'a dit jfontaine, il ne faut pas laisser Excel choisir au hasard la feuille pour le Range ZoneaModifier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set ZoneaModifier = Workbooks("NomDuWB").Sheets("NomDeLaSheet").Range("A1:A10")
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. Erreur '400' sur ligne de code basique
    Par cyraile dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 22/08/2007, 12h01
  2. [TSQLStoredProc] Comment connaitre le code erreur renvoye ?
    Par kase74 dans le forum Bases de données
    Réponses: 4
    Dernier message: 24/08/2005, 11h08
  3. Code erreur 131
    Par taket dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 29/06/2005, 15h43
  4. Codes erreur spécifiques
    Par jibe74 dans le forum Débuter
    Réponses: 3
    Dernier message: 10/12/2004, 11h19
  5. [Kylix] code erreur :-10 :(
    Par maamar dans le forum EDI
    Réponses: 2
    Dernier message: 21/09/2003, 01h15

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