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 :

syntaxe pour une range assez complexe ( enfin pour moi quoi)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    Points : 35
    Points
    35
    Par défaut syntaxe pour une range assez complexe ( enfin pour moi quoi)
    bonjour à tous, je me heurte à un souci de syntaxe je pense à propos de l'écriture d'une range.

    voila mon but est de vérifier une condition, et à partir de la , faire une copie d'une plage dans un autre classeur, à un autre emplacement, voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     For y = 4 To 256
     
            If Workbooks("Panneau de controle.xls").Sheets("Panneau de contrôle").Cells(2, y).Value = Year Then
     
            'Copie des taux horaires de l'annee correspondante
            Workbooks("Panneau de controle.xls").Sheets("Panneau de contrôle").Range(Workbooks("Panneau de controle.xls").Sheets("Panneau de contrôle").Cells(3, y), Workbooks("Panneau de controle.xls").Sheets("Panneau de contrôle").Cells(DerniereLigne - 2, y)).Copy Workbooks("Txt2").Worksheets("feuil1").Range("D4")
            charge = y
     
            End If
     
        Next
    j'ai malheuresement une erreur indice n'appartient pas à la solution ..

    qu'est-ce qui cloche dans ma formule?

    merci par avance

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

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(DerniereLigne - 2, y)
    Es tu sur que DerniereLigne est toujours supérieur à 3 ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    Points : 35
    Points
    35
    Par défaut
    absolument il est compris en 16 et 21 , donc forcément suppérieur à 2

  4. #4
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Il manque un accent circonflexe sur un des "contrôles"

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

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Cette erreur provient si tu est hors champ dans la feuille, ou si un nom de feuille ou de classeur n'existe pas.

    As tu vérifié tout cela?

  6. #6
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Mais déjà, ce serait plus lisible comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    With Workbooks("Panneau de controle.xls").Sheets("Panneau de contrôle")
    For y = 4 To 256
     
            If .Cells(2, y).Value = Year Then
     
            'Copie des taux horaires de l'annee correspondante
            .Range(.Cells(3, y), .Cells(DerniereLigne - 2, y)).Copy Workbooks("Txt2").Worksheets("feuil1").Range("D4")
            charge = y
     
            End If
     
        Next
    End With

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    Points : 35
    Points
    35
    Par défaut
    effectivement c'est bien plus lisible comme sa , etant débutant, je ne connais pas toutes les combines, j'applique desuite et vous tiens au courant des erreurs qui sortent.

    Merci

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    Points : 35
    Points
    35
    Par défaut
    merci probleme resolu, grace au with j'ai pu simplifier le code et voir l'erreur, merci a tous.

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

Discussions similaires

  1. Besoin d'aide pour une requête assez complexe
    Par NaoufalB dans le forum SQL
    Réponses: 4
    Dernier message: 10/06/2015, 18h25
  2. Rangée inférieure des totaux pour une JTable
    Par Chavadam dans le forum Composants
    Réponses: 2
    Dernier message: 25/09/2013, 15h49
  3. Aide pour une requête SQL complexe
    Par Nasca dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/04/2013, 04h47
  4. Besoin d'aide pour une jointure SQL complexe
    Par Naruto-uzumaki dans le forum Langage SQL
    Réponses: 10
    Dernier message: 21/02/2008, 15h58
  5. Une version de linux pour une machine assez ancienne.
    Par Muesko dans le forum Distributions
    Réponses: 8
    Dernier message: 06/07/2006, 17h37

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