Salut,
La réponse à la dernière question est "Oui, sûrement".
Alors quoi, on laisse tomber ?
Comme ce n'est pas mon genre, je te propose d'étudier ce bout de code VBA pour Excel.
Sub Worksheet_Change(ByVal Target As Range)
' Une cellule a changé.
' Mais on ne traite que si toutes les valeurs de la ligne
' (Date, Libellé, Compte débité, Compte crédité, Montant débité, Montant crédité) sont enregistrées
' On va dire que Date est dans la colonne A, Libellé dans la colonne B, etc.)
' On ne considère donc pas la cellule Target mais toute la ligne !
Dim ligne As Range
ligne = Target.EntireRow
If ligne.Cells(1) <> "" And _
ligne.Cells(2) <> "" And _
ligne.Cells(3) <> "" And _
ligne.Cells(4) <> "" And _
ligne.Cells(5) <> "" And _
ligne.Cells(6) <> "" Then
' Il y a quelque chose dans chaque cellule.
' On peut traiter
' mettre ici le traitement
End If
End Sub
Donc on cherche les feuilles "1234 Banque" et "9876 Matériel X"
Facile !
Deux solutions : Appeler directement la feuille, en espérant que l'utilisateur a entré le bon nom, quitte à gérer l'erreur éventuelle, soit on se fait une fonction spéciale.
Options 2, bien sûr :
Function feuille_par_nom(ByVal nom As String) As Worksheet
Dim sh As Worksheet
For Each sh In Worksheets
If sh.Name = nom Then
Set feuille_par_nom = sh
Exit Function
End If
Next
Set feuille_par_nom = Nothing
End Function
Et on l'appelle deux fois :
Dim sh_deb as Worksheet
Dim sh_cre as Worksheet
Set sh_deb = feuille_par_nom(ligne.Cells(3).Value)
Set sh_cre = feuille_par_nom(ligne.Cells(4).Value)
If sh_deb Is Nothing Or sh_cre Is Nothing Then
MsgBox "Eh coco, faudrait voir à me donner des noms de compte qui existent ! Je les supprime pour la peine."
If sh_deb Is Nothing Then ligne.Cells(3).Value = ""
If sh_cre Is Nothing Then ligne.Cells(4).Value = ""
Exit Sub
End If
Moi, pour avoir fait un peu de compta à l'école, je ne me rappelle pas avoir vu un nombre différent pour les montants débités et crédités. M'enfin!
If ligne.Cells(5).Value <> ligne.Cells(6).Value Then
MsgBox "T'es bien sûr ?"
End If
Bon, on a la date, le libellé, le montant et le nom de la feuille. Il ne manque plus que de trouver la dernière ligne de chaque feuille et de mettre nos valeurs à la suite.
T'as une idée ?
SpoilerCherche bien
![;) ;)]()
La solution est facile d'accès sur le forum !
Alors !?