copier ligne en fonction mot dans cellule

ICE_SACCO

XLDnaute Junior
Bonjour,

J'ai un problème sur ma macro qui boucle car je ne vois pas comment éviter de recopier les mêmes lignes sans les supprimer.

Sub Copy()

Dim MotCle
Dim i As Byte
Dim C As Range
Dim F As String
Dim Ligne As Long
'On définit les mots clés
MotCle = Array("REQ0")
'On effectue la recherche de chaque mot clé dans la colonne A de la Feuil1
For i = 0 To UBound(MotCle)
Do
Set C = Worksheets("feuil1").Columns(1).Find(MotCle(i), LookIn:=xlValues, lookat:=xlPart)
'Si le mot clé est trouvé
If Not C Is Nothing Then
'On définit le nom de la feuille où sera effectuée la copie
F = "Feuil2"
With Worksheets(F)
'On définit la ligne où sera effectué le collage
Ligne = .Range("F" & Rows.Count).End(xlUp).Row + 1
'On effectue le copier / coller
C.EntireRow.Copy .Range("A" & Ligne)
End With

End If
Loop While Not C Is Nothing
Next i
End Sub


Merci d'avance
 

Papou-net

XLDnaute Barbatruc
Bonjour ICE_SACCO,

Pas pu tester sans fichier exemple en PJ.

Toutefois, je te propose d'essayer comme suit:

Sub Copie()
Dim MotCle
Dim i As Byte
Dim C As Range, D As Range
Dim F As Object
Dim Ligne As Long

'On définit les mots clés
MotCle = Array("REQ0")
'On effectue la recherche de chaque mot clé dans la colonne A de la Feuil1
For i = 0 To UBound(MotCle)
Do
Set C = Feuil1.Columns(1).Find(MotCle(i), LookIn:=xlValues, lookat:=xlPart)
'Si le mot clé est trouvé
If Not C Is Nothing Then
'On définit le nom de la feuille où sera effectuée la copie
Set F = Feuil2
With Worksheets(F)
'On effectue la recherche de chaque mot clé dans la colonne A de la Feuil2
Set D = .Columns(1).Find(MotCle(i), LookIn:=xlValue, lookat:=xlPart)
'Si le mot clé n'est pas trouvé dans la feuille 2
If D Is Nothing Then
'On définit la ligne où sera effectué le collage
Ligne = .Range("F" & Rows.Count).End(xlUp).Row + 1
'On effectue le copier / coller
C.EntireRow.Copy .Range("A" & Ligne)
End If
End With
End If
Loop While Not C Is Nothing
Next i
End Sub


Espérant avoir répondu.

Cordialement.
 

Papou-net

XLDnaute Barbatruc
RE

Malgré la copie de ton fichier, ce n'est toujours pas clair dans mon esprit: je ne vois pas la corrélation entre les colonnes 1 des feuilles 1 et 2. De plus, que comptes-tu faire avec la variable REQ0, car UBound(MotCle)=0, ce qui met fin illico à la boucle For i...Next.

Peux-tu préciser davantage?

Cordialement.
 

Discussions similaires

Réponses
2
Affichages
265

Statistiques des forums

Discussions
312 305
Messages
2 087 078
Membres
103 455
dernier inscrit
saramachado