Kouik Kouik jr
XLDnaute Occasionnel
Hello le forum,
Je reviens vous voir car j'essaie de modifier mon code pour le rendre plus rapide et plus robuste.
Mon but est tout simple. Pour chaque cellule de la colonne B(feuille HS) correspondant avec la colonne E (feuille Journal) alors la valeur de la cellule colonne P = valeur de la cellule correspondante colonne A du journal
J'ai le code ci dessous qui marche impecablement bien
Mais je tente de le rendre plus robuste et plus rapide
j'aimerais donc plutot utiliser celui ci dessous mais je ne sais ou commencer pour chercher toutes les valeurs dans les colonne et non pas ceulement la cellule contenant "cash"
Merci d'avance pour vos idéees, suggestions et votre aide
Je reviens vous voir car j'essaie de modifier mon code pour le rendre plus rapide et plus robuste.
Mon but est tout simple. Pour chaque cellule de la colonne B(feuille HS) correspondant avec la colonne E (feuille Journal) alors la valeur de la cellule colonne P = valeur de la cellule correspondante colonne A du journal
J'ai le code ci dessous qui marche impecablement bien
HTML:
Sub essai()
Dim Déb As Integer
Dim Fin As Integer
Dim i As Integer
Dim j As Integer
With Sheets("JOURNAL")
Déb = 2
Fin = .Range("e" & .Rows.Count).End(xlUp).Row
End With
With Sheets("HS")
i = 1
Do While i < Fin
For j = Déb To Fin
If .Range("b" & i).Value = Sheets("JOURNAL").Range("e" & j).Value _
Then .Range("p" & i).Value = Sheets("JOURNAL").Range("a" & j).Value
Next j
i = i + 1
Loop
End With
End sub
Mais je tente de le rendre plus robuste et plus rapide
j'aimerais donc plutot utiliser celui ci dessous mais je ne sais ou commencer pour chercher toutes les valeurs dans les colonne et non pas ceulement la cellule contenant "cash"
Merci d'avance pour vos idéees, suggestions et votre aide
HTML:
Sub essais27 ()
Dim therng As Range
Dim thecode As String
Dim theline As Integer
Dim thedate As Date
Dim x As Double
thecode = "cash"
On Error Resume Next
If (thecash <> 0) Then
ActiveWorkbook.Worksheets("HS").Activate
Set therng = ActiveSheet.Columns("B").Find(thecode, LookIn:=xlValues, lookat:=xlWhole)
If (therng Is Nothing) Then
MsgBox "The position CASH_OPERATIONS has not been found..."
Else
theline = therng.Row
MsgBox theline
With ActiveSheet
thedate = .Cells(1, 2).Value
x = .Cells(theline, 4).Value
x = x + thecash
.Cells(theline, 4).Value = x
.Cells(theline, 12).Value = thedate
End With
End If
End If
End Sub