Si valeur d'une cellule =... alors copier la ligne entiere

Résolu/Fermé
Tuline Messages postés 55 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 16 novembre 2018 - 18 mars 2014 à 13:10
Tuline Messages postés 55 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 16 novembre 2018 - 19 mars 2014 à 12:08
Bonjour,

je debute en VBA et je n'arrive pas a resoudre mon probleme...

J'ai deux documents excel contenant des informations sur la date du 01/01/2013
Je souhaite que ma macro fasse les actions suivantes :
dans le premier document, pour chaque ligne, si la cellule H contient la date du 01/01/2013 alors copier la ligne entiere et la coller dans le document 2, feuille 2
dans le document 2, meme action et copier feuille 2

Ainsi je peux rassembler toutes les lignes correspondant a la date du 01/01/2013 dans un meme document.

J'ai commencer le code pour la premiere partie mais cela ne fonctionne pas. Je n'arrive pas a copier la ligne. J'ai bien verifie les noms des documents et feuilles inclus dans le code

Sub plot()

Dim nbl As Long
Dim a As Integer

a = 1
Windows("Shadow Price and SMP - 31122012.xls").Activate
nbl = Workbooks("Shadow Price and SMP - 31122012.xls").Worksheets("Shadow Price and SMP").UsedRange.Rows.Count

For i = 1 To nbl
If Workbooks("Shadow Price and SMP - 31122012.xls").Worksheets("Shadow Price and SMP").Cells(i, "H").Value = "01/01/2013" Then
Rows("i:i").Select
Selection.Copy
a = a + 1
Windows("Shadow Price and SMP - 01012013.xls").Activate
Sheets("Sheet1").Select
Rows("a:a").Select
ActiveSheet.Paste
End If
Next

End Sub


Merci d'avance pour votre aide

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
19 mars 2014 à 07:09
Bonjour

plutôt que
Rows("i:i")...

rows(i)

pareil pour a
1