Chercher valeur cellule dans autre répertoire / classeur

cs_Seb1984 Messages postés 2 Date d'inscription samedi 24 janvier 2009 Statut Membre Dernière intervention 25 janvier 2009 - 24 janv. 2009 à 13:49
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 - 25 janv. 2009 à 22:47
Bonjour,
je veux créer une appli VBA et j'aimerais savoir pkoi mon code bloque, je voudrais aller chercher une valeur
dans la base de donnée du classeur ProjetVBAHITRATIO.xls en fonction de leur date, pour la copier dans le classeur ProjetVBABOUGEOIS.xls.

voici mon code :

Sub macrook()

Dim i As Integer

report = "C:\Documents and Settings\Seb\Mes documents\Cours\ProjetVBABOUGEOIS.xls"

base = "C:\Documents and Settings\SebMes documents\Cours\ProjetVBAHITRATIO.xls"

For i = 1 To 7

If Workbooks(base).ActiveSheet("Feuil1").Cells(i, 2) >= DateValue("12/01/2004") And Workbooks(base).ActiveSheet("Feuil1").Cells(i, 2) <= DateValue("12/02/2004") Then
Workbooks(report).Sheets("Feuil1").Cells(i, 2) = Workbooks(base).Sheets("Feuil1").Cells(i, 2)

End If

Next

End Sub

Pouvez vous m'aider ?

Merci d'avance

Seb1984

3 réponses

cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
25 janv. 2009 à 08:32
Bonjour seb1984

Il y a deux raisons probables à ce problème :

- ActiveSheet n'est pas une collection, donc ActiveSheet("Feuil1") n'est pas correct ; il faut mettre soit ActiveSheet, soit Sheets("Feuil1") ou WorkSheets("Feuil1")

- la collection Workbooks represente la l'ensemble des classeurs ouverts ; pour renvoyer un seul membre (classeur) de la collection, il ne faut pas donner son chemin complet mais uniquement son nom.

Essaie :

If Workbooks("ProjetVBABOUGEOIS.xls").WorkSheets("Feuil1").Cells(i, 2) >= DateValue("12/01/2004") And Workbooks("ProjetVBABOUGEOIS.xls").WorkSheets("Feuil1").Cells(i, 2) <= DateValue("12/02/2004") Then
Workbooks("ProjetVBAHITRATIO.xls").Sheets("Feuil1").Cells(i, 2) = Workbooks("ProjetVBABOUGEOIS.xls").Sheets("Feuil1").Cells

Amicalement
0
cs_Seb1984 Messages postés 2 Date d'inscription samedi 24 janvier 2009 Statut Membre Dernière intervention 25 janvier 2009
25 janv. 2009 à 09:37
Merci Orohena mais malheureusement ça ne marche toujours pas.....effectivement en utilisant le pas à pas détaillé


l'erreur provient de la ligne 9 mais je n'arrive tjrs pas à touver le problème


Pouvez vous m'aider


merci d'avance !!


Seb1984
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
25 janv. 2009 à 22:47
Bonjour

Code incomplet, il faut lire :

If Workbooks("ProjetVBABOUGEOIS.xls").WorkSheets("Feuil1").Cells(i, 2) >= DateValue("12/01/2004") And Workbooks("ProjetVBABOUGEOIS.xls").WorkSheets("Feuil1").Cells(i, 2) <= DateValue("12/02/2004") Then
Workbooks("ProjetVBAHITRATIO.xls").Sheets("Feuil1").Cells(i, 2) = Workbooks("ProjetVBABOUGEOIS.xls").Sheets("Feuil1").Cells(i, 2)

Amicalement
0