Bonjour à tous
J’ai besoin d’aide pur un copier coller sous condition.
J’ai deux feuilles, ma Feuil1 est mon fil rouge où j’ajoute des valeurs. Lorque dans la colonne categories je note Feuil2 alors je souhaite copier cette ligne dans la feuil2.
Jusque là ca va bien mais le problème c’est que je boucle en permanence… or je voudrais ne la copier qu’une seule et uniquement fois :s
De plus je souhaiterais que la valeur dans la colonne prix (ex :100€) soit copier dans la feuil2 en -100€… Je pensais multiplier par -1 mais j’ai du mal à le faire sous VBA…
Si quelqu’un peut m’aider ca serait super !
Voici mon code
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim c As Range
With Sheets("Feuil1")
For i = .Range("a65536").End(xlUp).Row To 2 Step -1
If .Range("a" & i).Value <> Sheets("Feuil2").Range("a" & i).Value And .Range("h" & i).Text = "Feuil2" Then
With .Range("h" & i)
.Offset(, -7).Resize(, 9).Copy Destination:=Sheets("Feuil2").Range("a65536").End(xlUp).Offset(1, 0)
End With
End If
Next
End With
Application.ScreenUpdating = True
End Sub
J’ai besoin d’aide pur un copier coller sous condition.
J’ai deux feuilles, ma Feuil1 est mon fil rouge où j’ajoute des valeurs. Lorque dans la colonne categories je note Feuil2 alors je souhaite copier cette ligne dans la feuil2.
Jusque là ca va bien mais le problème c’est que je boucle en permanence… or je voudrais ne la copier qu’une seule et uniquement fois :s
De plus je souhaiterais que la valeur dans la colonne prix (ex :100€) soit copier dans la feuil2 en -100€… Je pensais multiplier par -1 mais j’ai du mal à le faire sous VBA…
Si quelqu’un peut m’aider ca serait super !
Voici mon code
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim c As Range
With Sheets("Feuil1")
For i = .Range("a65536").End(xlUp).Row To 2 Step -1
If .Range("a" & i).Value <> Sheets("Feuil2").Range("a" & i).Value And .Range("h" & i).Text = "Feuil2" Then
With .Range("h" & i)
.Offset(, -7).Resize(, 9).Copy Destination:=Sheets("Feuil2").Range("a65536").End(xlUp).Offset(1, 0)
End With
End If
Next
End With
Application.ScreenUpdating = True
End Sub