Microsoft 365 Problème date qui s'affiche

Scorpio

XLDnaute Impliqué
Bonjour à tous,
Dans ce classeur, j'ai 4 feuilles représentant 4 comptes.
Rassurez vous, je ne suis pas l'auteur des codes dans ce classeur, car je ne suis pas a votre hauteur, c'est pour cela que nous avons besoin de votre aide,
et on vous en remercie.
Les données sont saisie uniquement dans la feuille "Ecritures"
Alors, en fait, dans la feuille CpteVacance et CpteChargesAppartement, "Samedi,0janvier 1900" s'affiche sans raison,
pourriez vous, s'il vous plaît y jeter un coup d'œil.

Merci d'avance et à ++++

Scorpio
 

Pièces jointes

  • CompabilitéPratique.xlsm
    124.2 KB · Affichages: 18

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Scorpio,

Sans rentrer dans le code, lorsqu'une date est samedi 0 janvier 1900 c'est que la valeur retournée par FiltreBD est nulle.
Un moyen simple d'éviter cela sans toucher au code est de ne pas afficher les valeurs nulles, avec Options Excel/Options avancées/Afficher les options pour cette feuille de calcul, et décochez Afficher un zéro dans les cellules qui ont une valeurs nulles. Et ce pour toutes les feuilles :
1637078470427.png


Ou modifier le code FiltreBD, avec une solution "bourrin" qui supprime les 0 de la matrice :
VB:
Function FiltreBD(BD As Range, colCrit1, critere1, ColResult, Optional colcrit2, Optional critere2, Optional ColTri)
  a = BD
  k = 1
  Dim b(): ReDim b(LBound(a) To Application.Caller.Rows.Count, 1 To UBound(ColResult) - LBound(ColResult) + 1)
  If IsMissing(colcrit2) Then colcrit2 = colCrit1: critere2 = critere1
  For i = LBound(a, 1) To UBound(a, 1)
     If UCase(a(i, colCrit1)) = UCase(critere1) And UCase(a(i, colcrit2)) = UCase(critere2) Then
     For c = LBound(ColResult) To UBound(ColResult)
       col = ColResult(c, 1)
        b(k, c) = a(i, col)
     Next c
     k = k + 1
   End If
  Next i
  If IsMissing(ColTri) Then ColTri = 1
  Call TriCol(b, LBound(b), k - 1, ColTri)
  ' Supprime les 0 du tableau
  For i = 1 To UBound(b)
    If b(i, 2) = 0 Then b(i, 2) = ""
  Next i
  FiltreBD = b
End Function

La solution n'est pas "esthétique", peut être que quelqu'un de plus futé rentrera dans le code de la fonction.
 

Scorpio

XLDnaute Impliqué
Salut sylvanu,
Merci beaucoup de ton intervention, super.
J'ai donc fait la décoche de toutes les feuilles, mais a l'enregistrement il m'indique un message
Et donc,
J'ai changé le code selon ton modèle et c'est la même chose.
Que faire ??
 

Pièces jointes

  • Capture d’écran 2021-11-16 172812.png
    Capture d’écran 2021-11-16 172812.png
    12.5 KB · Affichages: 15

sylvanu

XLDnaute Barbatruc
Supporter XLD
Ce message est lié à votre fichier, j'ai eu le même. je n'ai pas compris pourquoi d'autant qu'aucune cellule ne semble avoir de grande formule.
Reprenez votre fichier original et essayez de l'enregistrer sous un autre nom. Si vous avez le même problème c'est que votre fichier est corrompu, sinon repartez de ce fichier pour faire les modifs.
Mais en aucun cas les deux modifs que je propose peuvent conduire à ce genre de message.
NB: Si vous enregistrez votre PJ sans la modifier en xls alors ça marche, mais en xlsm cela ne marche pas. C'est donc lié à votre fichier car aucune modif n'a été effectuée.
 

Scorpio

XLDnaute Impliqué
Re sylvanu,
Alors voici le classeur enregistré sous (.xls) et j'ai décoché ce que tu m'a informé au message #2.
Apparemment cela fonctionne, je n'est plus le message d'enregistrement binaire.
A ton avis, est-ce si je refais entièrement ce classeur en repartant a zero, en gardant le même code BVA serais une bonne solution ??
 

Pièces jointes

  • CompabilitéCorrigé_1.xls
    358.5 KB · Affichages: 1

Scorpio

XLDnaute Impliqué
Re sylvanu,
Merci de ton aide bienvenue.
J'ai enregistrer le classeur que tu m'a retourné en changeant encore de nom, et pas de message, c'est ok.
Mais, si le cœur t'en dis, de vouloir modifier le code ou en recrée un autre, cela serais le bienvenu.
 

Discussions similaires

Réponses
7
Affichages
812

Statistiques des forums

Discussions
311 709
Messages
2 081 774
Membres
101 816
dernier inscrit
Jfrcs