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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    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 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 : 51
    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,

    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
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

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

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

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

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

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    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

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 109
    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

  7. #7
    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 : 51
    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
    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?

+ 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