fonction Application.Workbooks.Open (gestions de plusieurs classeurs)HELP !!!!

calimero75

XLDnaute Nouveau
Bonjour,

Après, quelques un de vos conseils, quelques exercices et beaucoup de sueur, j'ai réussit à obtenir un résultat correcte quand à ma macro mais il reste une erreur que je n'arrive pas à corriger :mad:. Si une âme charitable peut me venir en aide !!! :D

J'aimerai effectuer différentes actions entre 2 classeurs mais je plante sur l'interaction entre les 2 classeurs. j'ai l'erreur 438 "propriété ou méthode non gérée par cet objet" au niveau de la ligne en rouge ci dessous :

Sub exporte()
'1er compteur utilisé pour le tant que
Dim i As Integer
'juste pour vérifier la dérniere cellule scanée
Dim fin As Integer
'définir la ligne de départ tableau 1
Dim departL1 As Integer
'définir la ligne de départ tableau 2
Dim departL2 As Integer
'définir le nombre de ligne à Scanner/copier
Dim NBLignes As Integer
Dim classeurSource As Workbook, classeurDestination As Workbook
'définir le classeur destination
Set classeurSource = ThisWorkbook
'définir le classeur destination
Set classeurDestination = Application.Workbooks.Open("C:\Users\Steph\Desktop\test\tests basic\destination.xlsx")

i = 3
fin = i
departL1 = 4
departL2 = 13
NBLignes = 6
Do While Not (IsEmpty(Cells(3, i)))
If classeurSource.Cells(3, i) = classeurDestination.Cells(12, i) Then
For nombre = 0 To NBLignes
classeurDestination.Cells(departL2 + nombre, i) = classeurSource.Cells(departL1 + nombre, i)

Next
End If

i = i + 1
fin = fin + 1
Loop

Cells(5, 10) = i
Cells(6, 10) = fin
ActiveWorkbook.Save
classeurDestination.Save

End Sub

J'imagine que l'erreur est présente également ici :
classeurDestination.Cells(departL2 + nombre, i) = classeurSource.Cells(departL1 + nombre, i)

Comment écrire ceci correctement :confused: MErci !!!

PS : la macro doit exporter des données d'un classeur à un autre en fonction d'un test assez simple
 

calimero75

XLDnaute Nouveau
Re : fonction Application.Workbooks.Open (gestions de plusieurs classeurs)HELP !!!!

bonjour gilbert,

Oui en effet si je ne précise pas la feuille à utiliser effectivement. :D
Heuu comment dire, merci beaucoup :p

Pour le petit newbie qui comme moi n'a pas l'œil expérimenté :D, ca marche
mieux ainsi :

If classeurSource.Sheets("Nom de la feuille").Cells(3, i) = classeurDestination.Sheets("Nom de la feuille").Cells(12, i) Then
 

Discussions similaires

Statistiques des forums

Discussions
312 248
Messages
2 086 593
Membres
103 248
dernier inscrit
Happycat