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

Macros et VBA Excel Discussion :

Compréhension fonction Left et protection [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    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
    Par défaut Compréhension fonction Left et protection
    Bonjour à tous,

    Je viens vers vous en espérant que vous puissez m'aider à comprendre certaines lignes de code:

    Voici la première fonction (si on appelle ca comme ceci) que je voudrais comprendre l'utilité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TextBox_JourDebut.Value = Left(Worksheets("Liste PETRI").Cells(n, 5), 5)
                JD = DateValue(TextBox_JourDebut.Value)
                TextBox_JourDebut.ForeColor = &HC000&
                TextBox_HeureDebut.Value = FormatDateTime(TimeValue(Worksheets("Liste PETRI").Cells(n, 5)), vbShortTime)
    Dans ce code, je voudrais comprendre quelle est l'utilité de la fonction Left svp? Car ceci qui a fait le code a mis left un peu partout dès qu'il y a une référence à une date or en mettant l'aide excel, ca me sort un charabia incompréhensible

    Tant qu'à faire et afin de pouvoir réutilisé ceci, est-ce que datevalue est obligatoire pour jouer avec les dates? ainsi que FormatDateTime(TimeValue) ?

    Merci d'avance

    Un autre point que j'aimerais abordé concernant un problème sous excel 2010:

    J'ai ce code dans un module:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Z As Integer
    Sub Protection()
    Application.ScreenUpdating = False
    If Z = 0 Then
    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
    et je mets ceci dans la feuille:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
    If PERMISSION = False And (Not Intersect(Target, Range("A1:C5000")) Is Nothing Or Not Intersect(Target, Range("D1:D3")) Is Nothing Or Not Intersect(Target, Range("E1:BV5000")) Is Nothing) Then
    Protection
    End If
    End Sub
    Sous excel 2003, tout va bien, la protection fonctionne or si je suis sous 2010, il y a une erreur de compilation avec utilisation incorrecte de la propriété. la protection ne marche plus cela bloque en surlignant en jaune "Private Sub Worksheet_Change(ByVal Target As Range)" et en selectionnant Protection. Par contre si je mets la macro protection directement dans la feuille et pas dans le module, la protection fonctionne:

    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)
    Application.ScreenUpdating = False
    If Z = 0 And PERMISSION = False Then
    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
    Savez vous pourquoi faut il mettre ceci dans la feuille et pas dans un module à part sous excel 2010?

    Merci d'avance à tous

    bonne journée

  2. #2
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Bonjour,

    Left renvoie les 5 caractères de gauche de Worksheets("Liste PETRI").Cells(n, 5).

    DateValue Sert au calcul sur des dates.

    Protection doit être déclaré Public Sub Protection()

  3. #3
    Membre chevronné
    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
    Par défaut
    Merci beaucoup

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

Discussions similaires

  1. Problème fonction LEFT(str,len)
    Par beberd dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 07/11/2006, 18h24
  2. Fonction Left join, Right Join
    Par chandlerbing77 dans le forum Access
    Réponses: 2
    Dernier message: 22/06/2006, 16h36
  3. fonction left
    Par HULK dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/12/2004, 11h19
  4. fonction left avec sql server 6.5
    Par shake dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/06/2004, 08h48
  5. Fonction LEFT sur champ de type "text" : méthodes
    Par MatthieuQ dans le forum Langage SQL
    Réponses: 4
    Dernier message: 08/06/2004, 11h15

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