Bonjour,
Pour commencer un tableau (listobject) est dynamique. Il est inutile (déconseillé) de le dimensionner par défaut.
Lors de l'ajout de lignes, les formules, les mises en forme sont reconduites (y.c. les MFCs si existantes).
Tes formules de recherche sont à revoir.
J'ai ajouté une procédure pour réinitialiser le tableau (si nécessité et tests ; voir module CleanDate et procédure Reset_Table).
Je te renvoie le fichier modifié.
A te relire.
Cdlt.
Tracker pour forum v2.xlsm
Re-bonjour Jean-Eric
Je t'embête à nouveau car j'ai une nouvelle question.
Dans le code que tu m'as donné, j'ai ensuite fait des divisions comme suit :
With rCell
.Value = Listedéroulanteinitiatives.Value
.Offset(, 5).Value = Textsavings1.Value
.Offset(, 6).Value = Devises.Value
.Offset(, 7).Value = Textsavings2.Value
.Offset(, 8).Value = Devises2.Value
.Offset(, 9).Value = TextBox1.Value
.Offset(, 10).Value = CDate(TextBox2.Value)
.Offset(, 12).Value = .Offset(, 18).Value / .Offset(, 11).Value
.Offset(, 14).Value = .Offset(, 19).Value / .Offset(, 13).Value
.Offset(, 16).Value = .Offset(, 9).Value / .Offset(, 15).Value
Columns("N:N").NumberFormat = "dd/mm/yyyy"
End With
Or les valeurs au dénominateur (.Offset(, 15).Value, .Offset(, 11).Value, .Offset(, 13).Value) peuvent être égales à 0 et dans ce cas un message d'erreur apparaît car la division par 0 est impossible. Je souhaiterais que cela ne m'affiche rien dans la cellule si leur valeur est égale à 0. Comment puis-je faire ? J'ai essayé d'insérer une fonction if mais ça n'a pas fonctionné...
Merci à toi pour ton aide