Macro ne fonctionne plus

Bonjour

Dans ce tableau (Ci-joint) la macro "enregistrerdate" ne fonctionne plus correctement.

Elle enregistre les datas, mais ne les efface plus. Et cela tout d'un coup.

Merci d'avance

11glycemie.xlsm (145.01 Ko)

Bonjour Michel,

Pouvez-vous préciser ce qui ne va pas ? Chez moi la macro fonctionne (j'ai mis des données dans t_saisie et je les ai retrouvées dans la feuille Octobre)... Vous avez un plantage ?

Mais il efface plus le tableau qui est copiè

Mais il efface plus le tableau qui est copiè

Pour que le tableau soit vidé il faut qu'il soit plein : le code vérifie si la cellule J8 est pleine. Si ce n'est pas le cas : tableau non vidé.

Vous voudriez changer ce fonctionnement ? Parce que attention ça complique les choses si vous remplissez repas par repas.

Salut saboh12617

J'allais mettre le code en cause et qui est simple à lire même pour un néophyte comme Michel

'on vide les données de la table "Saisies"
     If Worksheets("Saisies").Range("J8").Value <> "" Then
          With Range("t_Saisie").ListObject
               .ListColumns("G7").DataBodyRange.ClearContents
               .ListColumns("Menu").DataBodyRange.ClearContents
               .ListColumns("Poids").DataBodyRange.ClearContents
               .ListColumns("Plat").DataBodyRange.ClearContents
               .ListColumns("Commentaires").DataBodyRange.ClearContents
          End With
     End If

Qu'on pourrait éventuellement remplacer par

  'on vide les données de la table "Saisies"
  If Worksheets("Saisies").Range("J8").Value <> "" Then
    With Range("t_Saisie").ListObject
      .ListColumns("G7").DataBodyRange.ClearContents
      .ListColumns("Menu").DataBodyRange.ClearContents
      .ListColumns("Poids").DataBodyRange.ClearContents
      .ListColumns("Plat").DataBodyRange.ClearContents
      .ListColumns("Commentaires").DataBodyRange.ClearContents
    End With
  ' Si la celluel est vide, on peut quand même poser la question
  ElseIf MsgBox("Voulez-vous effacer les données du tableau ?", vbQuestion + vbYesNo, "ATTENTION...") = vbYes Then
    With Range("t_Saisie").ListObject
      .ListColumns("G7").DataBodyRange.ClearContents
      .ListColumns("Menu").DataBodyRange.ClearContents
      .ListColumns("Poids").DataBodyRange.ClearContents
      .ListColumns("Plat").DataBodyRange.ClearContents
      .ListColumns("Commentaires").DataBodyRange.ClearContents
    End With
  End If

Bonne journée

Merci tout le monde je vais essayer ce nouveau code

Rechercher des sujets similaires à "macro fonctionne"