Verrouiller ligne après entrée
Bonjour!
J'aimerais faire en sorte que le tableau dans l'onglet Suivi puisse verrouiller les cellules après leur entrée, spécifiquement après avoir appuyer sur le bouton orange en haut... (macro
Donc: on entre une ligne de communication, appuie sur le bouton ''enregistrer les informations'' et on ne peut plus aller modifier les informations apres
plus tard, j'ouvre le document (ou il est rester ouvert et une autre communication apparait) puis je peux rajouter des informations a la suite du tableau, ''enregistrer les informations'' (verrouille la nouvelle entrée et sauvegarde le doc) et ainsi de suite...
Est-ce que c'est possible? pistes de solutions?
Merci!
Sophie
WAOOOOW! :0
C'est différent mais je crois que c'est bien parfait pour mes besoins!!
Très astucieux comme idée, formulaire avec un onglet verrouillé... vraiment! waow!
Seul problematique, j'ai réussi a l'adapter SAUF pour la partie Suivi, ou j'aimerais changer la mise en page, mais comme c'est proteger via mot de passe....
Merci!
Bonjour,
Le mot de passe est déclaré comme constante dans la procédure VBA.
ALT F11, voir module Main
Cdlt.
Option Explicit
Public Const PWD As String = "excel"
Public Sub SaveData()
Dim ws As Worksheet, ws2 As Worksheet
Dim lo As ListObject
Dim rCell As Range
Dim OK As Boolean
Set ws = Worksheets("Formulaire")
With ws
OK = WorksheetFunction.CountA(.Cells(4, 3), .Cells(6, 3), .Cells(8, 3), .Cells(10, 3)) = 4
End With
If OK Then
Set ws2 = Worksheets("Suivi")
ws2.Unprotect Password:=PWD
Set lo = ws2.ListObjects("T_Suivi")
With lo
If .ShowAutoFilter Then .AutoFilter.ShowAllData
If .InsertRowRange Is Nothing Then
Set rCell = .HeaderRowRange.Cells(1).Offset(.ListRows.Count + 1)
Else
Set rCell = .InsertRowRange.Cells(1)
End If
End With
With rCell
.Value = Date
.Offset(, 1).Value = Time
.Offset(, 2).Value = ws.Cells(4, 3).Value
.Offset(, 3).Value = ws.Cells(6, 3).Value
.Offset(, 4).Value = ws.Cells(8, 3).Value
.Offset(, 5).Value = ws.Cells(10, 3).Value
End With
lo.HeaderRowRange.EntireColumn.AutoFit
With ws2
.EnableAutoFilter = True
.Protect Password:=PWD, userinterfaceonly:=True, AllowFiltering:=True
End With
With ws
.Range("C4,C6,C8,C10").ClearContents
End With
Else
MsgBox "veuillez documenter tous les champs !...", 64, "Information"
End If
End Sub
Hmmmmm... est-ce que je peux enlever la partie verrouillage par défaut et simplement verrouiller l'onglet? ainsi, si modifications a faire je peux y acceder, mais pas tout le monde pour nimporte quoi ce qui est le but...
Re-Bonjour!
A force de jouer avec ce document, j'ai réaliser certaines problématiques que je ne sais pas comment régler, n'étant vraiment pas familière avec les macros... (mais j'essaie!!!!)
Voici ce qui me pose problème avec ce document:
- La dernière case du ''formulaire'' devrait être optionnelle et non obligatoire. je ne veux pas le message d'erreur si je la laisse vide.
-Je souhaite avoir l'option d'effectuer des modifications aux entrées si besoin, à l'aide d'un mot de passe, dans l'onglet Suivi (ou le formulaire remplis ira s'inscrire)
*note, j'aimerais faire un ajout au haut du tableau, mais je peux insérer de ligne ou permettre temporairement la modification...
... j'aimerais aussi savoir comment ''reset'' ce tableau (effacer toutes les données )!
J'aimerais aussi que la colonne Notes & feedback ainsi que autres info soit d'une largeur déterminée et s'allonge selon la quantités de texte, présentement la largeur est déterminée mais pas assez large (renvoyer a la ligne ne semble pas vouloir rester après la mise en place de la macro......)
Est-ce que ce peut avoir une incidense, je semble avoir des difficultées, quand je sauvegarde, ca me demande d'enregistrer sous...?
Merci!!!!!!!!!!!
Sophie