Microsoft 365 Problème date qui s'affiche

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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.
 
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: 18
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.
 
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

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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
480
Réponses
7
Affichages
1 K
Retour