Pb de copier coller

Résolu
Signaler
Messages postés
61
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
21 août 2007
-
Messages postés
61
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
21 août 2007
-
Bonjour,
Quelqu'un pourrait me dire ce qu'il ne va pas dans mon bout de code?

<!-- END TEMPLATE: bbcode_code -->
Dim lignefinc AsLong
Dim lignefinm AsLong
Dim k AsInteger
Dim l AsInteger
Dim m AsInteger
 
For k = 1To lignefinc
For l = 1To lignefinm
If Workbooks("carole.xls").Worksheets(2).Cells(k, 22).Value = Workbooks("mouve.xls").Worksheets(1).Cells(l, 8).ValueThen
If Workbooks("mouve.xls").Worksheets(1).Cells(l, 4) > Workbooks("carole.xls").Worksheets(1).Cells(k, 8)Then
Workbooks("mouve.xls").Worksheets(1).Rows(l).Copy Destination:=Workbooks("mouve.xls").Worksheets(1).Cells(l, 1)
EndIf
EndIf
Next
Next

j'explique:
dans mon premier ( 2de feuille) fichier carole j'utilise les cellules de la colones 22 du texte et de la colones 8 des dates
dans mon second fichier ( 1e et unique feuille) fichier mouve j'utilise la colone 8 du texte et la colone 4 des dates,

Je souhaite que si la colone 22 du fichier 1 et la colonne 8 du fichier 2 soit égale, qu'ensuite la colone 8 du fichier 1 et la colone 4 du fichier 2 soit égale il me colle la ligne du fichier 2 dans la feuille 1 du fichier ?

le message qu'on m'indique c'est l'afiche n'appartient pas a la selection ...
Quelqu'un pourrait m'aider merci

11 réponses

Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Regarde ce snippet pour éviter cette erreur à chaque fois:
j'active le classeur
je sélectionne la feuille
je fais la copy
http://www.codyx.org/snippet_copier-feuille-excel_272.aspx

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Salut,

Dis moi, elles n'ont pas de valeurs ces variables :

lignefinc et lignefinm
Messages postés
61
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
21 août 2007

ah si si j'ai oublié de les recopier là mais jlé ai defini ds mon fichier pas de pb la dessus
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Salut,
Donc comme je te l'ai dit par ailleurs Fais un:
Workbooks("mouve.xls").Worksheets(1).Select
Juste avant la ligne de code du .copy

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Je me demande si workbooks n'est pas vide.

Pour le savoir un coup de       msgbox  Workbooks.Count 

s'il n'est pas vide, tu pourras obtenir leur nom comme ceci:

For i = 0 To Workbooks.Count 
   Workbooks.Item(i).Name
Next
Messages postés
61
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
21 août 2007

?
comment ça workbooks vide ?
Bah non il est bien present mon worrbooks avec 12000 ligne dans un et l'autre pas loin de 12000 ligne aussi...

Workbooks("mouve.xls").Worksheets(1....
ne veux pas passer il me mets que la methode select de worksheet a échoué...
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Alors décompose:
Workbooks("mouve.xls").Activate
Worksheets(1)..Select ou Activate

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
Messages postés
61
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
21 août 2007

oui merci, je n'ai plus le message d'erreur
mais ca ne fonctionne toujours pas
meme si les cellules sont égale pour le 1er If il ne le reconnait pas!
et les cellules sont bien égale
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Avant la condition pour être sur fais un
Msgbox Workbooks("carole.xls").Worksheets(2).Cells(k, 22).Value & "/" & Workbooks("mouve.xls").Worksheets(1).Cells(l, 8).Value

If Workbooks("carole.xls").Worksheets(2).Cells(k, 22).Value = Workbooks("mouve.xls").Worksheets(1).Cells(l, 8).ValueThen

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Vérifie également les valeurs de lignefinc et lignefinm.
Pour ça execute ton code pas à pas avec des points d"arrêts et des espion cela te permettra de voir le bug!

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)

Si la réponse vous convient: Réponse acceptée < body>
Messages postés
61
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
21 août 2007

non non c'est bon ayé!
en faite je coller à l'endroit ou je copier donc ....
merci
:-)