Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/01/2012, 14h05   #1
Invité régulier
 
Homme
Inscription : novembre 2011
Messages : 85
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 85
Points : 5
Points : 5
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 :
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
kyros21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 14h12   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 919
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 919
Points : 7 235
Points : 7 235
Bonjour,

Code :
Cells(DerniereLigne - 2, y)
Es tu sur que DerniereLigne est toujours supérieur à 3 ?
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 14h21   #3
Invité régulier
 
Homme
Inscription : novembre 2011
Messages : 85
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 85
Points : 5
Points : 5
absolument il est compris en 16 et 21 , donc forcément suppérieur à 2
kyros21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 14h26   #4
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

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

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Il manque un accent circonflexe sur un des "contrôles"
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 14h26   #5
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 919
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 919
Points : 7 235
Points : 7 235
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?
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 14h27   #6
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

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

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Mais déjà, ce serait plus lisible comme ça
Code :
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
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/01/2012, 14h34   #7
Invité régulier
 
Homme
Inscription : novembre 2011
Messages : 85
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 85
Points : 5
Points : 5
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
kyros21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 15h30   #8
Invité régulier
 
Homme
Inscription : novembre 2011
Messages : 85
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2011
Messages : 85
Points : 5
Points : 5
merci probleme resolu, grace au with j'ai pu simplifier le code et voir l'erreur, merci a tous.
kyros21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h18.


 
 
 
 
Partenaires

Hébergement Web