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 :

problème de syntaxe avec les structures .top et .left


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 130
    Points : 71
    Points
    71
    Par défaut problème de syntaxe avec les structures .top et .left
    Bonjour,
    j'ai des problèmes avec les 2 lignes bleu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Dim FL1 As Worksheet
        Set FL1 = ActiveSheet
        With FL1.Shapes(FL1.Shapes.Count)
            .Select
            
            .Top = Cells(j + 17, p).Top
            .Left = Cells(j + 17, m).Left
            
            .Width = 185
            .Height = 135
        End With
    Dans la structure des cells j+17 représente ma ligne avec j variable integer et p représente ma colonne avec p variable integer.
    Est ce que quelqu'un peut m'aider?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 553
    Points : 566
    Points
    566
    Par défaut
    Bonjour
    ne serait-ce pas ceci que tu voulais faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            .Top = Cells(j + 17, p).value
            .Left = Cells(j + 17, m).value

  3. #3
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonjour

    et c'est quoi le probléme ..? qu'elle est la valeur de tes variables m,p et j au moment du probléme..?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 130
    Points : 71
    Points
    71
    Par défaut
    non, en fait je veux positionner mon graph grâce à la position de ma cellule cells(j+17,p).
    Ce que tu m'as proposé ne marche pas. As-tu autre chose a me proposer?
    Ou quelqu'un d'autre pourrait-t-il m'aider, svp?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 130
    Points : 71
    Points
    71
    Par défaut
    Alors:
    j=67, p=6, m=4
    Voilà pour les valeurs de mes variables mais je sais pas si ça va vous servir puisque mon problème est un problème de syntaxe entre mes cells et .top pour positionner mon graph.
    Merci d'avance pour vos réponses.

  6. #6
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    à vue de nez...il manque le point devant les Cells
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .Top = .Cells(j + 17, p).Top
    .Left = .Cells(j + 17, m).Left

  7. #7
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    et c'est quoi ton probléme ? un message d'erreur ..?



    Citation Envoyé par fring Voir le message
    à vue de nez...il manque le point devant les Cells
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .Top = .Cells(j + 17, p).Top
    .Left = .Cells(j + 17, m).Left
    si tu rajoute le . rajoute aussi FL1.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 130
    Points : 71
    Points
    71
    Par défaut
    ça marche pas non plus fring.
    Mon problème JackOuYA est que a partir des lignes bleu il me dit qu'il y a une erreur 438 avec comme texte propriété ou méthode non gérée par cet objet.
    J'ai vu que pour me servir de .top et .left il faut un range mais quand j'écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        Dim FL1 As Worksheet
        Set FL1 = ActiveSheet
        With FL1.Shapes(FL1.Shapes.Count)
            .Select
            .Top = Range(Cells(j + 17, p)).Top
            .Left = Range(Cells(j + 17, m)).Left
            .Width = 185
            .Height = 135
        End With
    ça marche pas non plus
    En fait dans mon programme je positionne le haut et la gauche d'un graph que je viens de creer à l'aide du haut et de la gauche de ma cellule cells(j+17,p) et cells(j+17,m).
    Est ce que ça t'est plus clair JackOuYA?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 130
    Points : 71
    Points
    71
    Par défaut
    Merci pour ton rajout d'info JackOuYA.
    et c'est quoi ton probléme ? un message d'erreur ..?
    Citation:
    Envoyé par fring Voir le message
    à vue de nez...il manque le point devant les Cells
    Code :
    .Top = .Cells(j + 17, p).Top
    .Left = .Cells(j + 17, m).Left
    si tu rajoute le . rajoute aussi FL1.
    Et merci à toi aussi fring.
    Maintenant ça marche.Merci beaucoup.

  10. #10
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par JackOuYA Voir le message
    si tu rajoute le . rajoute aussi FL1.
    arf...en effet, j'avais lu With FL1 en début du code

  11. #11
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    bon execute ton code pas à pas


    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
     
      Dim FL1 As Worksheet
        Set FL1 = ActiveSheet
        With FL1.Shapes(FL1.Shapes.Count)
     
            .Select
            stop
            debug.print FL1.Cells(j + 17, p).Top
            debug.print FL1.Cells(j + 17, m).Left
            stop
            .Top = fL1.Cells(j + 17, p).Top
            .Left = FL1.Cells(j + 17, m).Left
     
            .Width = 185
            .Height = 135
        End With
    au premier "stop", vérifie bien que ce soit ton graphique qui est sélectionné sur ta feuille excel ..(aprés quand ton code fonctionnera tu pourra supprimer ce select inutile..)

    actionne ensuite la touche F5 pour continuer jusqu'au 2° stop , et si tu n'as pas eu d'erreur entre-temps regarde les valeur affichées dans la fenêtre exécutiln CTRL+G.

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

Discussions similaires

  1. Problème de taille avec les structures
    Par Folkene dans le forum Débuter
    Réponses: 9
    Dernier message: 20/01/2010, 17h13
  2. Problème de syntaxe avec les fonctions CALLBACK
    Par nonozor dans le forum C++
    Réponses: 4
    Dernier message: 21/07/2008, 18h06
  3. problème d'affichage avec les structures
    Par jlion5 dans le forum C
    Réponses: 1
    Dernier message: 03/05/2008, 13h13
  4. [Tableaux] Problème de syntaxe avec les tableaux et include
    Par L'aigle de Carthage dans le forum Langage
    Réponses: 3
    Dernier message: 12/03/2008, 10h41
  5. Problème de syntaxe avec les session
    Par kuja2053 dans le forum Langage
    Réponses: 2
    Dernier message: 07/08/2007, 00h10

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