Bonjour à tous,

J'ai un petit programme comprenant entre autres un userform et un TCD.

'l'userform contient un contrôle DTPICKER1 permettant d'entrer les dates.

Lorsque le fichier alimentant le TCD est vide (nouvel exercice comptable) le programme bloque sur la ligne
en rouge du code ci-dessous (Cette procédure renvoie les enregistrements du fichier dans l'userform.).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub Lecture() ' Lecture des enregistrements sur formulaire
With ShtO
   Me.TxtFacture = .Range("B" & n_Row)
   Me.DTPicker1.Value = .Range("C" & n_Row)
   Me.CmbListeTypes = .Range("D" & n_Row)
   If n_Row = 5 Then
      Me.TxtMontant = Format(0, "0.00")
      Me.TxtNbreLitres = Format(0, "0.00")
      Me.CmbRemise = Format(0, "0.00")
      Me.CmbReglement = Format(0, "0.00")
   Else
      Me.TxtMontant = .Range("G" & n_Row)
      Me.TxtNbreLitres = .Range("F" & n_Row)
      Me.CmbListeTypes = .Range("D" & n_Row)
      Me.CmbRemise = .Range("J" & n_Row)
      End If
   
 End With
 CheckButton
End Sub
VBA signale "erreur d'exécution 380 : valeur de propriété non valide
Je crois comprendre que la cellule vide (pas d'entregistrement) ne plait pas alors que les autres informations vides du fichier ne posent pas problème.
Y a-t-il un moyen de régler ce problème ?

Par ailleurs, il semble que le TCD exige deux lignes d'enregistrement minimum à en croire l'erreur 1004 qui signale ce point.

De plus, bien que le fichier ait été vidé des informations de l'exercice précédent le TCD conserve les dates malgré cette ligne

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
Avez vous une explication ?

Cordialement,
Paul