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 :
Jusque la tout va bien
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
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
Partager