Bonjour à tous,
Je suis face à un petit soucis, j'essaye d'intégrer des formules que j'utilise dans une feuille dans un code VBA mais je n'y arrive pas :'(
J'ai une feuille "liquide" et "liquideold"
Mon code VBA me permet de mettre ma feuille "liquide" dans une autre feuille "Resume"
Mes colonnes vont de A à T
Voici le code :
Sub sample()
Dim wsO As Worksheet, wsI As Worksheet
Dim wsOLRow As Long, wsILRow As Long
Set wsO = ThisWorkbook.Worksheets("Resume")
Set wsI = ThisWorkbook.Worksheets("liquide")
With wsO
If Application.WorksheetFunction.CountA(.Cells) <> 0 Then
wsOLRow = .Cells.Find(What:="*", _
After:=.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row + 1
Else
wsOLRow = 1
End If
End With
With wsI
wsILRow = .Range("A" & .Rows.Count).End(xlUp).Row
For i = 1 To wsILRow
If .Cells(i, "T").Value2 <> 0 Then
.Rows(i).Copy wsO.Rows(wsOLRow)
wsOLRow = wsOLRow + 1
ElseIf .Cells(i, "T").Value2 = 0 Then
If .Cells(i, "C").Value2 < 81 Or .Cells(i, "C").Value2 > 99 Then
.Rows(i).Copy wsO.Rows(wsOLRow)
wsOLRow = wsOLRow + 1
End If
End If
Next i
End With
End Sub
Ensuite, je vais sur ma feuille "Resume" et :
- dans la colonne T : je mets la formule "=INDEX(liquideold!L:L;MATCH(I3;liquideold!I:I;0))"
- Colonne U : "=MATCH(I3;liquideold!I:I;0)"
- Colonne V : "=INDEX(liquideold!K:K;MATCH(I3;liquideold!I:I;0))"
Puis je tire vers le bas, jusqu'à la dernière ligne, mes formules.
Ce que j'aurai aimé, c'est que lorsque j'exporte ma feuille "liquide" vers "resume", les colonnes T, U et V soit insérées automatiquement.
Je vous remercie d'avance pour votre aide