En VBA Modifier des lignes ou les supprimer en fonction de variables

Bonjour,

Je tâtonne en VBA :

1) J'ai fais un code qui fonctionne depuis l'onglet "masque de saisie" pour rajouter une entrée dans mon tableau qui est l'onglet "BDD", par contre c'est désagréable à l'oeil, je souhaiterai la même chose sans changer d'onglet.

2) Je souhaite modifier ou supprimer une entrée en "BDD" en fonction de la cellule F4 en "Masque de saisie" toujours sans sélectionner l'onglet concerné (BDD).

Si quelqu'un pouvait m'aider... merci !

8exemple.xlsx (20.71 Ko)

Ci-après la VBA qui fonctionne mais qui est désagréable et lourde, je joins le fichier concerné.

Sub nouvelle_entrée()
'
' nouvelle entrée Macro
'

'
Sheets("BDD").Select
Range("E4:I4").Select
Selection.ListObject.ListRows.Add (1)

Range("I4").Select
ActiveCell.FormulaR1C1 = "=NOW()"
Selection.NumberFormat = "h:mm"
Selection.Copy
Range("I4").Select
Range("I4").Activate
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Worksheets("Masque de saisie").Range("F4").Copy
Worksheets("BDD").Range("E4").PasteSpecial Paste:=xlValues
Worksheets("Masque de saisie").Range("H4").Copy
Worksheets("BDD").Range("F4").PasteSpecial Paste:=xlValues

Sheets("Masque de saisie").Select
Range("F4:H4").Select
Selection.ClearContents
Range("F4").Select
Range("B11").Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
Application.CutCopyMode = False
Range("F4").Select

End Sub

Bonjour et bienvenue sur le forum

...1) J'ai fais un code qui fonctionne depuis l'onglet "masque de saisie"

Il n'y a pas de macro VBA dans ton fichier. Tu l'as enregistré en " .xlsx " et les macros ont dispau.

Bye

Bonjour et merci GMB,

Je renvoie le fichier en .xlsm

9exemple.xlsm (31.33 Ko)

Bonjour

Un essai à tester. Te convient-il ?

5exemple-v1.xlsm (43.67 Ko)

Bye

Super, merci beaucoup, gmb, je viens de tester, c'est ce que je voulais !

Passe une bonne soirée

Thierry

En testant plus avant, je m'aperçois que lorsqu'on modifie par exemple le CA, excel ne reconnaît plus la date comme une date, lors d'un tri croissant ou décroissant, en plus la mise en forme n'est pas pris en compte pour le CA

Si je peux abuser, de mon côté je vais essayé de comprendre le code du userform ... mais... ne connaissant rien je crois mettre très longtemps pour voir d'où ça vient.

Je te renvoie le fichier, j'ai modifié le 25/10, le 30/10 et le 5/12, lorsque j'actualise le TCD, il indique 0 en CA, alors qu'il y a du CA en regard de ces 3 dates dans la BDD.

Je ne comprends pas d'où ça vient

13exemple-v1.xlsm (46.97 Ko)

Bonjour

J'ai corrigé une anomalie : un TextBox6 s'est créé inopinément (mauvaise manip) sur le TextBox dans l'UserForm. Ne servant à rien, il empêchait la date de se mettre à jour dans le tableau de la feuille BDD.

Dis-moi si cela marche mieux maintenant...

7exemple-v2.xlsm (40.34 Ko)

Bye :

Rechercher des sujets similaires à "vba modifier lignes supprimer fonction variables"