Si valeur d'une cellule =... alors copier la ligne entiere [Résolu/Fermé]

Signaler
Messages postés
55
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
16 novembre 2018
-
Messages postés
55
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
16 novembre 2018
-
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

Messages postés
16235
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 octobre 2020
3 047
Bonjour

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

rows(i)

pareil pour a
Messages postés
55
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
16 novembre 2018

Bonjour Michel,

Ah oui super !! Je pense que c'est la seule option que je n'avais pas tente et je comprends le principe maintenant :)

Par contre, c'est bizarre car la boucle for ne fonctionne pas... il me copie bien une ligne mais une seule seulement alors que dans mon document j'en ai plusieurs contenant 01/01/2013

saurais tu pourquoi ?
Messages postés
16235
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 octobre 2020
3 047
Bonjour,

j'en sais rien, mais il y a souvent des pb avec les dates

je regarderai cet aprèm si...

En attendant:

combien as tu de colonnes utilisées A:K, B:X...?

Combien de lignes maxi (nbl) ?

tes dates 01/01/2013 sont bien au format "date" et non "texte" ?

cette date est elle variable suivant le besoin?
Messages postés
55
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
16 novembre 2018

Aaaah c'etait tout bete.... Il fallait juste ne pas oublier d,activer la bonne fenetre au debut de la boucle :)
un grand merci pour ton aide en tout cas !