Bonjour a tous,

J'ai une problématique avec une formule contenant RECHERV lors de l'insertion d'une nouvelle ligne via code VBA dans un tableau structuré.
Mon tableau est composé de plusieurs colonnes. La première dans laquelle je viens indiquer une date.Les suivante dans lesquelles je viens remplir un chiffre. Une dernière qui me fait la somme du nb rempli x tarif(situé dans un autre tableau) défini en fonction de la date de la première colonne.
Ma formule et construite de la maniére suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=("Chiffre colonne 2"*RECHERCHEV([@Date (colonne1)];TableauTarifMa;2;VRAI))+("Chiffre colonne 3"*RECHERCHEV([@Date (colonne1)];TableauTarifMa;3;VRAI))+.....ect
Jusque la tout va bien
La date étant obligatoire pour que la formule fonctionne et n'étant pas le seul a utiliser le tableau l'insertion d'une nouvelle ligne ne peux se faire uniquement via une Userform ou l'on demande la saisie de la date.
Et la j'ai un problème. La ligne s’insère correctement en début de tableau, la formule est bien copié. La date saisie dans l'Userform se copie bien ou il faut. Malheureusement la formule ne marche pas et met met une erreur comme si la date n'était pas rentrée.
J'ai essayé plusieurs solutions :
Insérer la ligne et n'ouvrir l'userform qu’après l'insertion de la ligne vierge.
Rafraichir la feuille de calcul
Mais rien y fait

Merci d'avance pour votre aide

Partie du code qui pose probléme :
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
21
22
23
24
25
26
Private Sub CommandButton1_Click()
 
'affichage message de confirmation
If MsgBox("Confirmez-vous l'insertion d'une nouvelle ligne", vbYesNo, "confirmation d'ajout ligne") = vbYes Then
 
    'Insertion ligne vierge en début de tableau
    [TableauVenteBilleterie].Rows(1).Insert
 
 
    'Copie le text contenu dans "Date" et le colle dans la cellule B11 du tableau'
    Range("B11").Value = TextBox1
 
    'Reproduit la mise en forme de la ligne du dessous
    Range("B12:AF12").Select
    Selection.Copy
    Range("B11:AF11").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
 
  End If
 
 
Unload Me
 
End Sub