Enregistrement automatique après remplissage

Bonjour,

après avoir quelques recherches sur internet je n'ai pas trouvé grand chose qui m'aide vraiment.

J'aimerais simplement qu'après avoir validé une cellule (après avoir fait ' Entré '), un ensemble de cellules soient verrouillées et qu'un enregistrement automatique se fasse.

Mais avant que cela se fasse, il faudrait qu'une fenêtre apparaisse et demande confirmation.

Voilà merci!

Salut,

Voici une proposition à placer dans la feuille concernée

On considère ici que la cellule A4 est la cellule qui déclenche l'évènement.

Concernant la protection des cellules, il faut au préalable que la plage à protéger soit vérouillée.

(selection de la plage, clic droit, format de cellule, onglet protection, cocher "Vérrouillée")

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$5" Then  'cela signifie que la cellule qui déclenche est la A4
    VReponse = MsgBox("Voulez-vous sauvegardé le fichier", vbApplicationModal + vbYesNo, "Confirmation")
    If VReponse = vbYes Then
        ActiveSheet.Protect
        ActiveWorkbook.Save
    End If
End If
End Sub

Jers

Bonjour Jers,

merci pour ta réponse très rapide!

Je ne vois pas où il est possible de choisir quelles cellules peuvent être verrouillées dans ton code.

Merci

Salut,

Le code verrouille la feuille active.

Toutes les cellules dont la case à cocher "vérrouillée" est activée seront donc verrouiller (cette case est cochée par défaut)

Il te suffit donc de choisir quelles cellules tu veux verrouiller ou pas directement sur la feuille.

Jers

Bonjour,

Ok merci pour ton retour.

Je ne comprends pas vraiment ce qu'il se passe dans le code. Il est écrit :

If Target.Address = "$A$5" Then  'cela signifie que la cellule qui déclenche est la A4

Tu as mis "A$5" pour que la cellule A4 soit celle qui verrouille et sauvegarde... Pourquoi pas "A$4" ?

J'ai justement essayé et cela semble casser le code puisqu'il m'affiche la fenêtre de confirmation au moment où je clique sur la cellule et non pas au moment où je valide la cellule... (cellule A4)

Peux-tu m'aider sur ça stp?

Merci!

L'événement se déclenche quand tu changes de cellule.

Mon exemple considère que c'est lorsque tu fais entrée sur la cellule A4 que le code se lance.

Donc si tu fais entrée en A4, tu passes en A5, ce qui signifie que l'adresse récupérée est A5.

Jers

Salut, OK merci!

Du coup n'y a-t-il pas de formule pour indiquer "quand la (A4) cellule est validée" ?

Puisque que je vais utiliser ce code dans des tableaux mais autour tout sera verrouillé et non sélectionnable... Ça ne peut donc pas marcher de décaler à la cellule d'en dessous, tu vois?

Désolé d'insister mais c'est important!

Merci

Dans ce cas là, tu peux utiliser cela

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$4" Then
'place action à faire ici
End If
End Sub

Par contre ce code va s’exécuter a chaque fois que la valeur de la cellule A4 sera modifiée.

Jers

Re,

OK merci je vais essayer en attendant j'ai eu ce que je voulais donc je passe le topic en résolu!

A+

Rechercher des sujets similaires à "enregistrement automatique remplissage"