Excel lecture seule

Fermé
thdelesalle - 9 janv. 2009 à 15:03
al1_delon Messages postés 259 Date d'inscription samedi 27 décembre 2008 Statut Membre Dernière intervention 16 octobre 2009 - 12 janv. 2009 à 18:27
Bonjour,
je souhaiterai créer plusieurs fichiers excel comprenant plusieurs onglets différents en lecture seule (pour que personne ne puisse faire de modifs).

J'aimerai que ces fichiers puissent être modifiables automatiquement si je veut ajouter ou retirer des lignes.

J'avai pensé à effectuer une recherchev, allant chercher les données sur un fichier dont seul moi ai l'accès, mais je me suis rendu compte que si j'ajoute un ligne sur le fichier de base, tout sera décallé sur les fichiers lecture seule.

A-t-on la possibilité de faire ce même type de recherchev, mais a partir de l'onglet directement? C'est-a-dire que si je modifie sur mon fichier de base une cellule, ou insère une ligne ou colonne, cela se changera automatiquement sur le fichier en lecture seule.

J'espere avoir été assez clair, merci pour votre aide.

2 réponses

al1_delon Messages postés 259 Date d'inscription samedi 27 décembre 2008 Statut Membre Dernière intervention 16 octobre 2009 25
9 janv. 2009 à 15:07
Bonjour,

Par définition un fichier en lecture seule ne permet pas de modifs.
Il vaut mieux se servir de macros Vba avec protection/déprotection de feuilles en fonction du nom de l'utilisateur.
0
wow, les macros je suiis largué... pourrais-tu m'en dire 1 peu + stp?

Merci pour ta réponse
0
al1_delon Messages postés 259 Date d'inscription samedi 27 décembre 2008 Statut Membre Dernière intervention 16 octobre 2009 25
12 janv. 2009 à 18:27
Bonjour,

Désolé pour le retard.

Pour protéger un classeur des autres users, procéder de la façon suivante:
- Ouvrir vba (alt+f11)
- Double clic sur ThisWorkbook
- Sélectionner Workbook et Open dans la fenêtre centrale
- Taper la macro suivante entre les lignes Private Sub Workbook_Open() et End Sub

For Each ws In ThisWorkbook.Worksheets
If Application.UserName = "ton_nom" Then
ws.Select
ws.Unprotect ("mot_de_passe")
Else
ws.Protect ("mot_de_passe")
End If
Next

Pour ce qui est de l'ajout/suppression de lignes, il faudrait un exemple.
0