Copier /coller , entre deux fichiers

saadiil1 Messages postés 31 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour tout le monde ;
Je suis entrains de faire une macro qui permet de copier coller entre 2 fichier excel et je suis bloqué .

En fait je veux copier toutes la lignes contenant l'année (col B ) qu'on va saisir de la feuil2 de fichier "Macro-somme-des-cdes.xls" vers la feuil1 de fichier ""20110314 Ind0146bis_Carnet_Commande(1).xls" en sautant 2 lignes à chaque fois
voici ce que j ' ai mis comme code :

Sub saisie()
Dim Lig As Long
Dim myVar As Integer
Dim NbrLig As Long
Dim col As String

Message = "Entrer l'année :"
myVar = InputBox(Message)
col = "B"
NumLig = 0

Workbooks("Macro-somme-des-cdes.xls").Activate
NbrLig = Sheets("Feuil2").Cells(65536, col).End(xlUp).Row

For Lig = 1 To NbrLig

If Sheets("Feuil2").Cells(Lig, col).Value = myVar Then
Sheets("Feuil2").Cells(Lig, col).EntireRow.Copy
NumLig = NumLig + 2
Workbooks("20110314 Ind0146bis_Carnet_Commande(1).xls").Activate
Sheets("Feuil1").Select
Sheets("Feuil1").Range("A" & NumLig).Paste

End If
Next Lig
End Sub

il me signale une erreur à la ligne " Sheets("Feuil1").Range("A" & NumLig).Paste" mais je ne sais pas exactement ce que c'est comme erreur .

NB : les deux fichier sint ouverts
Merci de votre aide c'est urg

Cordialement

9 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Tu copie une ligne entière et tu veux copier dans une cellule ! ç'est impossible
    Si tu copie une ligne faut remettre une ligne.
    Modifier..

        Sheets("Feuil2").Rows(lig).Copy 
    '.... 
        Sheets("Feuil1").Rows(NumLig).Paste
    A+
    Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    NOTE : Je ne répond pas aux MP pour les questions techniques.
    0
  2. saadiil1 Messages postés 31 Statut Membre
     
    Bonjour ,
    merci pour ta réponse ,
    merci de noter que je suis debutant en VBA .J 'ai essayer avec ça mais malheureusement ça ne marche encore pas

    Cordialement
    0
  3. saadiil1 Messages postés 31 Statut Membre
     
    il me met comme erreur "proprieté ou methode non gérée par cet objet " !!! pour la ligne du code "Sheets("Feuil1").Rows(NumLig).Paste" !!

    merci
    0
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Oui, Excel est parfois "bizarre"
    Supprime la partie..
    If Sheets("Feuil2").Cells(Lig, col).Value = myVar Then 
        Sheets("Feuil2").Cells(Lig, col).EntireRow.Copy 
        Numlig = Numlig + 2 
        Workbooks("20110314 Ind0146bis_Carnet_Commande(1).xls").Activate 
        Sheets("Feuil1").Select 
        Sheets("Feuil1").Range("A" & Numlig).Paste 
    End If 
    

    et essaye avec ..
        If Sheets("Feuil2").Cells(Lig, col).Value = myVar Then 
            Numlig = Numlig + 2 
            Sheets("Feuil2").Rows(Lig).Copy Workbooks("20110314 Ind0146bis_Carnet_Commande(1).xls").Sheets("Feuil1").Rows(Numlig) 
        End If


    En principe ça devrait fonctionner.
    Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    NOTE : Je ne répond pas aux MP pour les questions techniques.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. saadiil1 Messages postés 31 Statut Membre
     
    non toujours pas !!!! ça va me renre fouuu cette macro hhh !!!!!
    0
  7. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Quel est le nom du module où se trouve ta macro ?
    J'ai tester mon dernier exemple sur 2 classeurs et ça fonctionne.
    Donc l'erreur est ailleurs.
    Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    NOTE : Je ne répond pas aux MP pour les questions techniques.
    0
  8. saadiil1 Messages postés 31 Statut Membre
     
    le module2 , en fait dans le fichier "20110314 Ind0146bis_Carnet_Commande(1).xls)." j'ai creé deux macro "sybthèse" sur le module1 et saisie( celle là ) sur le module2 . mais quand j 'execute j'excute la macro saisie .
    0
    1. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      Quand tu a une erreur et que tu souhaite de l'aide...
      DONNE LE N° DE L'ERREUR ET LE LIBELLE !!!
      Et SUR QUEL LIGNE
      Et surtout, pas s'énerver :-)
      0
  9. saadiil1 Messages postés 31 Statut Membre
     
    Ereur d'excution "438" ' proprieté ou methode non gérée par cet objet'

    et ça bugue toujours sur la ligne "Workbooks("20110314 Ind0146bis_Carnet_Commande(1).xls").Sheets("Feuil1").Rows(Numlig).Paste"
    En fait la macro copier la ligne demandée mais elle la colle pas dans l'endroit voulu .
    0
  10. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Grrrr...
    Regarde encore une fois mon poste #4
    0