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:
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.
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 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
Je sais pas si j'ai bien expliqué ma situation et si vous pouvez m'aidez !
Merci
Partager