Re : La méthode 'range' de l'objet worksheet à échoué
re bonjour,
j'ai modifié un peu le code mais ca fonctionne toujours pas comme je le voudrais voici le nouveau code :
Sub VirementLDDLaurent()
Dim LCopier As Long
Dim LColler As Integer
Dim FCopier As Worksheet
Dim FColler As Worksheet
Set FCopier = Worksheets("CIC")
Set FColler = Worksheets("LDD Laurent")
LColler = 7
With FCopier
For LCopier = 3 To 10000
If .Cells(LCopier, 2).Text = "Virement" Then
If .Cells(LCopier, 3).Text = "LDD Laurent" Then
FCopier.Range(.Cells(LCopier, 1), .Cells(LCopier, 3)).Copy FColler.Cells(LColler, 1)
.Cells(LCopier, 6).Copy FColler.Cells(LColler, 7)
LColler = FColler.[a65000].End(xlUp).Row + 1
End If
End If
Next
End With
Application.CutCopyMode = False
End Sub
le probleme c'est qu'il copie les lignes à chaque fois que j'execute le code.
avec le code suivant :
Sub VirementLDDLaurent()
Dim LCopier As Long
Dim LColler As Integer
Dim FCopier As Worksheet
Dim FColler As Worksheet
Set FCopier = Worksheets("CIC")
Set FColler = Worksheets("LDD Laurent")
LColler = 7
With FCopier
For LCopier = 3 To 10000
If .Cells(LCopier, 2).Text = "Virement" Then
If .Cells(LCopier, 3).Text = "LDD Laurent" Then
FCopier.Range(.Cells(LCopier, 1), .Cells(LCopier, 3)).Copy FColler.Cells(LColler, 1)
.Cells(LCopier, 6).Copy FColler.Cells(LColler, 7)
LColler = LColler + 1
End If
End If
Next
End With
Application.CutCopyMode = False
End Sub
cela fonctionne mais il colle à la suite du dernier collage et donc il efface mes entrées manuelles.
à la fin je voudrais qu'elle copie les lignes qui correspondes aux criteres apres la derniere ligne ecrite et qu'elle ne copie qu'une seule fois les données car je voudrais l'automatiser à chaque demarrage du fichier.
avez vous une idée car la je suis perdu?
je viens encore de modifier comme ceci :
Sub VirementLDDLaurent()
Dim LCopier As Long
Dim LColler As Integer
Dim FCopier As Worksheet
Dim FColler As Worksheet
Set FCopier = Worksheets("CIC")
Set FColler = Worksheets("LDD Laurent")
LColler = FColler.[a65000].End(xlUp).Row + 1
With FCopier
For LCopier = 3 To 10000
If .Cells(LCopier, 2).Text = "Virement" Then
If .Cells(LCopier, 3).Text = "LDD Laurent" Then
FCopier.Range(.Cells(LCopier, 1), .Cells(LCopier, 3)).Copy FColler.Cells(LColler, 1)
.Cells(LCopier, 6).Copy FColler.Cells(LColler, 7)
LColler = FColler.[a65000].End(xlUp).Row
End If
End If
Next
End With
Application.CutCopyMode = False
End Sub
la il n'efface pas ma ligne rentrée manuellement mais il recopie la derniere copie à chaque fois que je l'execute.
en attente de votre aide, je vais surfer un peu voir si je trouve autre chose.
cordialement