Macro VBA ajout un champ dans base de donnée
Bonjour
Devant faire un projet sur excel sur une base de donnée, et ne connaissant pas le vba je vous demande votre aide.
J'ai une base de donnée de nom avec N°Client Nom Prénom Téléphone Date d'inscription.
J'aimerais que quand l'utilisateur du programme l'utilise il puisse en cliquant sur un bouton affecter un nouveau champ a la base de donnée c'est à dire que la macro recopie une ligne en dessous du dernier champ de la base de donné en déverrouillant les cellules concerné (Nom Prénom Numéro) inscrit le N°Client suivant inscrit la date d'aujourd'hui en N°d'inscription. Ces deux dernière cellules doivent resté bloqué.
On avait commencé en utilisant dans la macro 3cellules qu'on caché avec des valeurs NBVAL.
On avait réussi à la faire jusqu a ce qu'on nous a intégré une expression lig dedans pour que personne puissent s'amuser à cliquer pleins de fois sur le bouton nouveau client et que sa créent pleins de champs. Mais en intégrant lig on a plus réussi à faire cet macro
Voila ce qu'on a:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| ActiveSheet.Unprotect
lig = Range("I1")
If Range("I1") > Range("K1") + 1 Then lig = Range("K1") + 1
Range("A" & lig - 1 & ":E" & lig - 1).Select
Range("A" & lig - 1 & ":E" & lig).Select
Selection.AutoFill Destination:=Range("A" & lig & ":E" & lig),Type:=xlFillDefault
Range("A" & lig + 1 & ":E" & lig + 1).Select
Range("A" & lig & " :E" & Range("J1")).Select
Selection.ClearContents
Cells.Select
Selection.Locked = True
Range("B" & lig & ":D" & lig).Select
Selection.Locked = False
Range("B" & lig).Select
Range("A" & lig) = Range("J1")
Range("E" & lig - 1) = Now()
Range("J1") = Range("J1") + 1
ActiveSheet.Protect |
Mais elle ne marche pas. De plus il faut que je rajoute dedans quelque chose que pour chaque nouveau champ mon tableau croisée dynamique le prenne en compta automatiquement.
Je sais pas si j'ai bien expliqué ma situation et si vous pouvez m'aidez !
Merci