IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

insertion date et heure sur feuille protegée


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut insertion date et heure sur feuille protegée
    bonjour a tous

    encore et toujours des petits problemes qui surviennent et dont je ne peux venir a bout tout seul. Désolé encore une fois d'etre aussi nul mais en apprenant seul c'est vraiment hard

    j'ai un bouton qui me sert a inserer automatiquement la date et l heure dans une cellule. Tout marche bien quand la feuille n'est pas en mode protegé mais dès que la macro s'execute avec feuille protegee et/ ou proteger classeur activé, j'ai un message " Erreur d'execution 1004 impossible de definir la propriété numberFormat de la classe range pour info je suis sur excel 2010 la macro s'execute sur des cellules non verrouillées ci dessous ma p'tite macro

    Sub date_heure()
    With ActiveCell
    .Value = Now
    .NumberFormat = "dd mmm yy hh:mm"
    .Value = .Value
    End With
    End Sub

    encore merci pour votre aide
    charly

  2. #2
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    bonjour

    essayer de mettre la méthode protect/unprotect.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub date_heure()
    ActiveSheet.Unprotect password:="lemotdepasse"
    With ActiveCell
    .Value = Now
    .NumberFormat = "dd mmm yy hh:mm"
    .Value = .Value
    End With
    ActiveSheet.Protect DrawingObjects:=True, contents:=True, Scenarios:=True, password:="lemotdepasse"
    End Sub

  3. #3
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    c'a y est j'ai trouvé

    c'était juste déverouiller la feuille complète par mp avant l excécution macro et réverrouiller ensuite
    si ca sert à d'autre voici le code mofifié

    Sub date_heure()
    ActiveSheet.Unprotect "mp"
    With ActiveCell
    .Value = Now
    .NumberFormat = "dd mmm yy hh:mm"
    .Value = .Value
    ActiveSheet.Protect "mp"
    End With
    End Sub

    désolé de vous avoir derangé pour rien

    et encore un grand merci a tous pour votre boulot
    charly

  4. #4
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    vraiment désole d avoir repondu avant ta reponse
    je vais quand meme essayer ta methode qui est plus complete que la mienne etabnt donné qu'elle fonctionne avec feuille et classeur protegé mais pas avec le partage classeur activé
    merci pour ta reponse et encore desolé
    charly

  5. #5
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Rebonjour
    si quelqu un a une idee pour expliquer pourquoi la macro ne fonctionne

    Pas avec fichier partage je suis preneur
    j ai essaye en modifiant le mot de passe avec workbook a lieu de sheet sans resultat
    en vous remerciant encore
    suite a probleme pc je repond avec un telephone donc de#ole pour la syntaxe

  6. #6
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    la méthode protect unprotect ne fonctionne pas quand le fichier est partagé il faut passer par une macro de protection de cellule.

  7. #7
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    a mettre dans la feuille synthèse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Z = 0 And PERMISSION = False  Then
    Application.ScreenUpdating = False
    Z = Z + 1
    X = MsgBox("Vous n'êtes pas autorisé à modifié cette plage de données", vbExclamation)
    Application.Undo
    End If
    Z = 0
    End Sub
    Déclarer dans le module 1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public Z as integer
    public PERMISSION as boolean
    vous pouvez executer la macro deverrouillage pour deverrouiller la feuille (à mettre dans le module 1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Verrouillage()
           PERMISSION = false
    End Sub
    Sub Deverrouillage()
           PERMISSION = True
    End Sub
    Dans vos autres macros, si la macro ajoute des données dans la feuille, il faut bien mettre PERMISSION = true (ou Deverrouillage) en début de macro et PERMISSION = false (ou verrouillage) en fin de macro afin que les données puissent être ajoutées.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    bonjour je vous remercie pour votre aide dans mes difficultés quotidiennes. Par contre mes faibles connaissances ne me permettent pas de comprendre ou placer le fichier que vous m'avez envoyé. à priori une seule macro ne s'execute pas lors de l activation du fichier partagé

    mais je ne comprends pas comment modifier mon fichier actuel. j'ai essayé de rajouter permission =false en debut de macro et permission=true
    en fin (sans succes)
    ex
    Sub date_heure()
    permission=False
    ActiveSheet.Unprotect "xxxx"
    With ActiveCell
    .Value = Now
    .NumberFormat = "dd mmm yy hh:mm"
    .Value = .Value
    ActiveSheet.Protect "xxxx"
    permission= True

    End With
    End Sub

    j'ai du mal a comprendre "Feuille syntaxe" et declarer module 1. Désolé encore une fois de vous embeter mais apprendre seul c'est vraiment galere
    plus j'avance et plus tout me semble complexe
    en vous remerciant encore que ce que vous pourrez faire
    j'en profite pour remercier encore l ensemble de votre equipe
    charly

  9. #9
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    Bonjour Charly,

    alors faites alt+f11.

    ensuite insertion et module. sur le coté dans la fenêtre apparait module 1
    mettre ce code dans le module 1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public Z as integer
    public PERMISSION as boolean
     Sub Verrouillage()
           PERMISSION = false
    End Sub
    Sub Deverrouillage()
           PERMISSION = True
    End Sub
    ensuite comme le fichier est aprtagé, il ne faut plus passer par la méthode protect/unprotect. ceci marche parfaitement quand le fichier n'est pas en mode partage.
    donc votre code devient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub date_heure()
    PERMISSION = true 'ou deverrouillage
    With ActiveCell
    .Value = Now
    .NumberFormat = "dd mmm yy hh:mm"
    .Value = .Value
    End With
    PERMISSION = false 'ou verrouillage
    End Sub
    ensuite il y a dans la fenêtre sur le coté une liste des feuille (feuille1, feuille 2 feuille 3 etc.. avec le nom de la feuille entre parenthèse)

    mettre ce code dans la feuille concernée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Z = 0 And PERMISSION = False  Then
    Application.ScreenUpdating = False
    Z = Z + 1
    X = MsgBox("Vous n'êtes pas autorisé à modifié cette plage de données", vbExclamation)
    Application.Undo
    End If
    Z = 0
    End Sub
    ensuite il y a un autre onglet toujours sur le coté gauche thisworkbook

    mettre le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    PERMISSION = False
    End Sub

  10. #10
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    vraiment un tres grand merci pour votre aide précieuse
    je vais essayer votre methode ce soir et ne manquerai pas de vous tenir au courant

    merci encore
    charly

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/10/2012, 09h36
  2. insert date et heure
    Par harjer dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 09/11/2009, 19h40
  3. [MySQL] Ordonner par date et heure sur 2 tables
    Par rems033 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 10/02/2009, 14h39
  4. insertion date et heure dans SQL server
    Par robinash dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 16/01/2008, 17h40
  5. la date et heure sur mon formulaire
    Par azde7015 dans le forum Access
    Réponses: 11
    Dernier message: 07/02/2006, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo