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' sur ligne de code basique


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Points : 112
    Points
    112
    Par défaut Erreur '400' sur ligne de code basique
    Bonjour,

    Cela fait une journée que je cherche comment résoudre mon problème et je ne trouve pas.
    Même l'aide d'office sur ce sujet ne m'aide pas

    Voici mon code

    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
     
    Public Sub inserer()
        Range("A1").Select
        Dim joueur As String
        Dim val As String
        val = Right(ActiveCell.Value, Len(ActiveCell.Value) - 16)
        Range("F3").Select
        Dim i As Integer
        For i = 1 To 15
            If (ActiveCell.Value <> "") Then
                Worksheets("lesJoueurs").Select
                Range("A1").Select
            End If
            Worksheets("data").Select
            ActiveCell.Offset(1, 0).Select
        Next i
    End Sub
    J'ai donc un bouton "Calculer" sur la feuille "data" et lorsque j'arrive à la ligne
    Range("A1").Select
    qui se situe dans la boucle FOR j'ai l'erreur "400" avec un icone rond rouge et croix blanche.

    Merci d'avance pour votre aide.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    J'ai la réponse mais ne vais pas te la donner car tu peux simplement modifier ton code pour éviter ce désagrément
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Sub inserer()
        Dim joueur As String
        Dim val As String
        val = Activesheet.Right(Range("A1").Value, Len(Activesheet.Range("A1").Value) - 16)
    Pour la suite, je n'ai pas compris ce que tu veux faire alors tu reviendras pour nous l'expliquer

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Points : 112
    Points
    112
    Par défaut
    Tout d'abord merci de m'aider.

    L'erreur ne vient pas de la premiere partie de mon code.
    J'ai mis un point d'arrêt et l'erreur se produit à la ligne en vert dans le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For i = 1 To 15
            If (ActiveCell.Value <> "") Then
                Worksheets("lesJoueurs").Select
                Range("A1").Select  
            End If
            Worksheets("data").Select
            ActiveCell.Offset(1, 0).Select
        Next i
    De plus quand je met Activesheets.Right il met dit "Propriété ou méthode non gérée par cet objet.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Mars 2007
    Messages : 56
    Points : 58
    Points
    58
    Par défaut
    Je vois pas bien ... euh pas du tout ce que ce code est censé faire ...

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Points : 112
    Points
    112
    Par défaut
    En fait j'ai retirer le code qu'il y a dans la boucle FOR afin de le simplifier et de mettre en évidence mon erreur.

    Voici le code complet :

    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
     
    Public Sub inserer()
        Dim joueur As String
        Dim coordBase As String
        Dim coord As String
        coordBase = ActiveSheet.Right(Range("A1").Value, Len(ActiveSheet.Range("A1").Value) - 16)
        Range("F3").Select
        Dim i As Integer
        For i = 1 To 15
            If (ActiveCell.Value <> "") Then
                joueur = ActiveCell.Value
                coord = coordBase + ":" + Trim(Str(ActiveCell.Offset(0, -5).Value))
     
                Worksheets("lesJoueurs").Select
                Range("A1").Select
                While (ActiveCell.Value <> "" And ActiveCell.Value <> joueur)
                    ActiveCell.Offset(1, 0).Select
                Wend
                If (ActiveCell.Value = joueur) Then
                    'On parcours les différentes cases jusqu'a rajouter la nouvelle valeur
                    While (ActiveCell.Value <> "" And ActiveCell.Value <> coord)
                        ActiveCell.Offset(0, 1).Select
                    Wend
                    If (ActiveCell.Value = "") Then
                        ActiveCell.Text = coord
                    End If
                Else
                    'La cellule est vide alors on le rajoute
                    ActiveCell.Value = joueur
                    ActiveCell.Offset(0, 1).Value = coord
                End If
            End If
            Worksheets("data").Select
            ActiveCell.Offset(1, 0).Select
        Next i
    End Sub
    Ce que je veux faire :
    Dans ma feuille "data", j'ai une liste de joueurs avec des valeurs
    J1 | val1
    J2 | val2
    J1 | val3
    ...

    donc je récupere le nom du joueur et la valeur

    ensuite je veux parcourir ma feuille "lesJoueurs"
    et ajouter les valeurs aux joueurs

    Si le joueur existe je met la valeur dans une nouvelle collonne a coté de son nom
    S'il n'existe pas je le rajoute en fin de tableau.

    Voila c'est surement un peu plus clair.

    Le code fourni en debut de post bug. C'est pour ca que j'avait enlever le reste.

    Merci encore.

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Points : 112
    Points
    112
    Par défaut
    J'ai vraiement besoin d'aide, je n'ai toujours pas trouver.

    Personne n'a une idée sur le problème ?

    C'est bizarre tout de meme j'ai dejà fait plusieurs macro Excel de ce type et je ne vois pas de quoi cela peut venir.

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Autant pour moi j'ai reproduit une erreur sans me rendre compte que c'était un c... rie. Honte à moi
    Déjà, utiliser une fonction de VBA comme variable est une erreur. Je parle de Val.
    Mais la suite l'est aussi.
    Je corrige la ligne que je t'ai passée, je regarderai ton code ensuite.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     valeur = Right(Activesheet.(Range("A1").Value, Len(Activesheet.Range("A1").Value) - 16)
    Voilà pour commencer.
    Je jète un oeil à la suite.
    A+

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Points : 112
    Points
    112
    Par défaut
    Merci beaucoup.

    Je viens de résoudre mon problème.

    Très très con (je suis)

    En fait j'avais mis le code sur la feuille "Data" au lieu de le mettre dans un module. Désolé c'est une erreur de débutant.

    Enfin je pense que cela pourra aider certaines personnes s'ils ont le même souci. Faut dire que j'ai passé 1 journée et demi avant de trouver le problème.

    Merci encore.

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

Discussions similaires

  1. [XL-2010] Erreur 1004 sur ligne de code vba QueryTable.refresh
    Par Darkfiend dans le forum Excel
    Réponses: 0
    Dernier message: 17/01/2012, 13h08
  2. [PHP 5.2] Erreur 400 sur un formulaire d'upload
    Par Snap luvs pastèque dans le forum Langage
    Réponses: 7
    Dernier message: 01/09/2011, 16h03
  3. [XL-2007] une erreur 400 sur un select basic
    Par EmmanuelleC dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/12/2010, 14h14
  4. Erreur 400 sur WorksheetFunction.Sum
    Par MasterChief78 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/10/2009, 16h55
  5. erreur 400 sur photos dans mon site perso
    Par annickmichel dans le forum Firefox
    Réponses: 7
    Dernier message: 29/09/2009, 12h54

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