Vérouiller une formule mais possibilité de faire copier/coller

Bens77

XLDnaute Nouveau
Bonjour à tous,

Je suis désespéremment à la recherche d'un moyen de vérouiller certaines formules sensibles d'un fichier, tout en laissant la possibilité de faire un copier/coller de la ligne ...
Chaque jour je copie la ligne précédente.
Sur la même ligne j'ai aussi bien des formules que des cellules que je dois saisir, donc il faut en laisser certaines non vérouillées.

Je ne sais pas si il serait possible à chaque enregistrement de vérouiller toutes les cellules, du coup le lendemain je ne pourrais pas effacer les cellules supérieur à ma nouvelle ligne ...mais il me faudrait toujours la possibilité de faire le copier/coller de ma ligne le matin .... enfin je tourne en rond quoi ...

Si vous avez une idée, je suis preneur de tout. :)

Merci !!
 

Efgé

XLDnaute Barbatruc
Re : Vérouiller une formule mais possibilité de faire copier/coller

Bonjour Bens77,
Je pense qu'il faut interdire la saisie de données dans les cellules non vides plutôt que de protéger la feuille.
Je vous joint un "début de commencement d'idée".
Avec quelques explications complémentaires et un petit fichier exemple, je pense qu'une solution devrait apparaitre (peut être pas par moi, mais l'important c'est d'avancer ;) )
Cordialement
 

Pièces jointes

  • Bens77(1).xls
    18 KB · Affichages: 129

Bens77

XLDnaute Nouveau
Re : Vérouiller une formule mais possibilité de faire copier/coller

Bonjour Bens77,
Je pense qu'il faut interdire la saisie de données dans les cellules non vides plutôt que de protéger la feuille.
Je vous joint un "début de commencement d'idée".
Avec quelques explications complémentaires et un petit fichier exemple, je pense qu'une solution devrait apparaitre (peut être pas par moi, mais l'important c'est d'avancer ;) )
Cordialement

Bonjour Efgé,
Effectivement cela pourrait être une solution mais déjà je ne sais pas le mettre en place, et est il possible de bloquer certaines cellule après avoir été saisi manuellement ...?

Je joins un exemple de fichier, les formules a ne surtout pas effacer en jaune, mais avoir la possibilité de copier la ligne tous les jours. Dans l'idéal, il faudrait même que les cellules saisies manuellement les jours précédents ne soit plus modifiables ... J'en demande peut être beaucoup ...

Merci à tous
 

Pièces jointes

  • Exemple.xls
    13.5 KB · Affichages: 93
  • Exemple.xls
    13.5 KB · Affichages: 100
  • Exemple.xls
    13.5 KB · Affichages: 94

chris

XLDnaute Barbatruc
Re : Vérouiller une formule mais possibilité de faire copier/coller

Bonjour

Autre piste si on n'écrit qu'une ligne par jour :
A la fermeture du classeur une macro pourrait

  • copier la dernière ligne et ne pas protéger les cellules en blanc
  • verrouiller toutes les autres
Ainsi lorsque l'on ferme le classeur il est prêt pour le lendemain. Éventuellement un message pour demander confirmation avant, si on le rouvre juste pour consultation.
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Vérouiller une formule mais possibilité de faire copier/coller

Re
Si j'ai bien compris:
Possibilité de copier la derniére ligne existante (copie de la dernière ligne existante et insertion de la ligne copiée), possibilité de modifier la "nouvelle dernière ligne", interdiction de modifier les lignes au dessus de la "nouvelle dernière ligne".
Le code ci-dessous est à mettre dans le code la feuille 1 (click droit sur l'onlet / Visualiser le code et coller les lignes ci-dessous.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim plg As Range
Dim derlig
Derligne = Range("A" & Application.Rows.Count).End(xlUp).Row
Cancel = True
Set plg = Range("A1:I" & Derligne - 1)
If Not Application.Intersect(Target, plg) Is Nothing And Target.Count = 1 Then
    If Target.Value <> "" Then
        Range("A" & Derligne + 1).Select
    End If
End If
End Sub
Voir le fichier joint.
En cas de problème n'hésitez pas à poster :).
Cordialement
 

Pièces jointes

  • Bens77(2).xls
    22.5 KB · Affichages: 82

Bens77

XLDnaute Nouveau
Re : Vérouiller une formule mais possibilité de faire copier/coller

Bonjour

Autre piste si on n'écrit qu'une ligne par jour :
A la fermeture du classeur une macro pourrait

  • copier la dernière ligne et ne pas protéger les cellules en blanc
  • verrouiller toutes les autres
Ainsi lorsque l'on ferme le classeur il est prêt pour le lendemain. Éventuellement un message pour demander confirmation avant, si on le rouvre juste pour consultation.

Bonjour Chris,

Ca serait l'idéal, mais le code risque d'être complexe ...(surtout que je n'y connais rien en VB..):confused:
 

Bens77

XLDnaute Nouveau
Re : Vérouiller une formule mais possibilité de faire copier/coller

Re
Si j'ai bien compris:
Possibilité de copier la derniére ligne existante (copie de la dernière ligne existante et insertion de la ligne copiée), possibilité de modifier la "nouvelle dernière ligne", interdiction de modifier les lignes au dessus de la "nouvelle dernière ligne".
Le code ci-dessous est à mettre dans le code la feuille 1 (click droit sur l'onlet / Visualiser le code et coller les lignes ci-dessous.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim plg As Range
Dim derlig
Derligne = Range("A" & Application.Rows.Count).End(xlUp).Row
Cancel = True
Set plg = Range("A1:I" & Derligne - 1)
If Not Application.Intersect(Target, plg) Is Nothing And Target.Count = 1 Then
    If Target.Value <> "" Then
        Range("A" & Derligne + 1).Select
    End If
End If
End Sub
Voir le fichier joint.
En cas de problème n'hésitez pas à poster :).
Cordialement

Merci Efgé !!

C'est parfait ! Par contre est il possible de rendre inacessible les cellules contenant les formules du jour en plus ?
Et est il possible de modifier une des cellules supérieur exceptionnellement ? (au cas où j'ai mal renseigné quelque chose)

Merci à tous ! :)
 

Bens77

XLDnaute Nouveau
Re : Vérouiller une formule mais possibilité de faire copier/coller

Merci Efgé !!

C'est parfait ! Par contre est il possible de rendre inacessible les cellules contenant les formules du jour en plus ?
Et est il possible de modifier une des cellules supérieur exceptionnellement ? (au cas où j'ai mal renseigné quelque chose)

Merci à tous ! :)

Désolé, pour ma 2ème question il suffit de supprimer le code ... ;)

Par contre, il me faudrait étendre cela sur un max de 100 colonnes (au plus large possible, j'anticipe), Est ce possible ?? Je ne trouve pas la notion de nombre de colonne dans le code ... (je vous confirme, je n'y connais rien... sorry)

Merci beaucoup
 
Dernière édition:

Bens77

XLDnaute Nouveau
Re : Vérouiller une formule mais possibilité de faire copier/coller

Désolé, pour ma 2ème question il suffit de supprimer le code ... ;)

Par contre, il me faudrait étendre cela sur un max de 100 colonnes (au plus large possible, j'anticipe), Est ce possible ?? Je ne trouve pas la notion de nombre de colonne dans le code ... (je vous confirme, je n'y connais rien... sorry)

Merci beaucoup

J'ai trouvé comme un grand pour étendre le nombre de colonne à prendre en compte ...
Je me félicite :):D
 

Bens77

XLDnaute Nouveau
Re : Vérouiller une formule mais possibilité de faire copier/coller

Pour résumé,

C'est parfait !:D:D:D

Il ne manquerai plus que :
- la possibilité de rendre inaccessible les cellules de la dernière ligne contenant une formule
- si possible rendre accessible seulement la 3e ligne du fichier

Si cela est réalisable, ce serait le paradis !! :p

Merci à tous, et merci à Efgé !
 

chris

XLDnaute Barbatruc
Re : Vérouiller une formule mais possibilité de faire copier/coller

Bonjour

Bonjour Chris,

Ca serait l'idéal, mais le code risque d'être complexe ...(surtout que je n'y connais rien en VB..):confused:

Pas vraiment : exemple joint voir le code dans le module Workbook

le mot de passe de la feuille est toto et on suppose que la fermeture est demandée depuis la feuille concernée (c'est aménageable)
 

Pièces jointes

  • uneLigneParJour.xls
    20.5 KB · Affichages: 76

Efgé

XLDnaute Barbatruc
Re : Vérouiller une formule mais possibilité de faire copier/coller

Re le fil
Bens77,
Pour les formules;
On peut, par exemple, en cas de modifications intempestives, remettre les formules en place à l'ouverture du classeur(Même après enregistrement des modifications) :
A Mettre dans le ThisWorkbook:
Code:
Private Sub Workbook_Open()
Range("D1:D" & Range("A65536").End(xlUp).Row).FormulaLocal = "=B1-C1"
Range("E1:E" & Range("A65536").End(xlUp).Row).FormulaLocal = "=B1"
Range("I1:I" & Range("A65536").End(xlUp).Row).FormulaLocal = "=Si(B1<D1;1;3)"
End Sub
Voir pièce jointe
Si vos formules contiennent des " il faut les doubler. Exemple :
=Si(A1=5;"";A1) devient =Si(A1=5;"""";A1)
Pour la possibilité de modifier une cellule déja saisie, j'ai mis une case a cocher.
Par contre je ne sais pas "rendre accessible seulement la 3e ligne du fichier"
Cordialement
 

Pièces jointes

  • Bens77(4).xls
    35 KB · Affichages: 70
Dernière édition:

Bens77

XLDnaute Nouveau
Re : Vérouiller une formule mais possibilité de faire copier/coller

Bonjour à tous et merci beaucoup pour votre aide !

Merci Efgé et Chris pour vos fichiers, le code suivant reste le plus proche de ce que je cherche :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim plg As Range
Dim derlig
Derligne = Range("A" & Application.Rows.Count).End(xlUp).Row
Cancel = True
Set plg = Range("A4:BZ" & Derligne - 2)
If Not Application.Intersect(Target, plg) Is Nothing And Target.Count = 1 Then
If Target.Value <> "" Then
Range("A" & Derligne + 1).Select
End If
End If
End Sub​

Par contre, est il possible de définir 2 plages différentes, car je souhaiterais laisser la ligne n°3 modifiable mais pas la 1 ni 2 ?

Et Bien sur, est il possible de rendre inaccessible les cellules contenant une formule même sur la ligne que je copie le matin ? pour ne pas effacer une formule du jour.

Merci pour votre aide, ce code me sert déjà et c'est la quasi perfection ! :D
 

Efgé

XLDnaute Barbatruc
Re : Vérouiller une formule mais possibilité de faire copier/coller

Re
Une proposition pour laisser la 3em ligne accessible.
Pour les formules, en fermant le classeur vous les remettez automatiquement. (ThisWorkbook/ Before close).
Cordialement
 

Pièces jointes

  • Bens77(3).zip
    11.1 KB · Affichages: 51

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 847
Membres
103 972
dernier inscrit
steeter