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 :

Récupérer valeur d'une cellule verrouillée [XL-2002]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 4
    Par défaut Récupérer valeur d'une cellule verrouillée
    Bonjour,

    je voudrais pouvoir copier la valeur de la cellule verrouillée en colonne précédente dans la cellule pointée par double clic (il s'agit de la même ligne).
    De même, si la cellule pointée par double clic contient une valeur, je voudrais qu'elle soit remise à blanc. Les cellules pointées par doubleclic ne sont pas verrouillées

    Les cellules de la colonne F,H,J,L,N,P,R,T,V de la ligne 4 à 25 seront verrouillées car contenant des formules (que je protégerais).
    Les cellules des colonnes ne seront pas verrouillées (G4 à G25, I4 à I25,.....U4 à25) pour accepter le double clic et récupérer la valeur de la colonne précédente.

    Le problème, c'est que je n'arrive pas à copier la valeur de la cellule de la colonne précédente (ex: F4 est verrouillée et G4 non verrouillée)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Value = "" Then ActiveCell=ActiveCell.Offset(0, -1)
    Je voudrais insérer cette possibilité, si elle existe, au sein de la macro ci-dessus

    Existe-t-il une solution ?

    Cordialement

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    essayes comme ca, à priori!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
          'De même, si la cellule pointée par double clic _
               contient une valeur, je voudrais qu'elle soit remise à blanc
    Target = ""
         'je voudrais pouvoir copier la valeur de la cellule verrouillée _
              en colonne précédente dans la cellule pointée par double clic 
    Target = Target(1, 0)
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 4
    Par défaut
    Bonsoir à tous,
    Bonsoir Dom et merci pour votre réponse. Je suis désolé mais je n'ai malheureusement pas compris votre réponse : voulez vous me dire que je dois rectifier ma ligne de code de la façon suivante ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if target="" then target =target(1,0)
    Pourquoi " target(1,0) " lorsque je suis en I4 et souhaite recopier la valeur de la cellule H4 qui est verrouillée. Je dois assurément mal maîtriser le target car je pensais plutôt à (0,-1)

    Si vous avez le temps de pouvoir m'expliquer la solution entrevue plus en détail étant donné que ma connaissance en VBA est très approximative.

    Vous en remerciant par avance

    Cordialement

    DSS

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    ActiveCell= Target, as-tu essayé ma proposition en l'adaptant, je ne t'ai pas mis de "If...Then"
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 4
    Par défaut
    Bonsoir le forum, Bonsoir Dom

    Un très grand merci à toi, Dom, car je n'aurais jamais trouvé tout seul. J'ai opéré par déduction successive car pour être franc, tu avais raison CA MARCHE!!! même si je n'ai toujours pas compris l'instruction target(1,0). En effet, j'assimile peut-être à tort target =cellule pointée (active) j'aurais mis (0,-1) pour la colonne précédente.
    Si à l'occasion, tu peux m'expliquer cela un peu plus en détail ton aide sera vraiment la bienvenue.

    Encore un très grand merci pour ton aide précieuse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     
    If Target = "" Then
       Target = Target(1, 0)
    Else
       If Target <> "" Then Target = ""
    End If
     
    End Sub

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Je te renvoies mon code original avec explications
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Target = "" 'donc la cellule active est ré-initialisée
    Target = Target(1, 0) 'la cellule active prend la valeur de la cellule précédente _
              en effet, si j'écris Target(1,1) c'est comme écrire "Target", j'aurais pu _
              écrire Target.Offset(0, -1), voir la nuance entre Offset et les parenthèses directes
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. [LibreOffice][Tableur] Récupérer valeur d'une cellule dans une autre
    Par Zhebulon dans le forum OpenOffice & LibreOffice
    Réponses: 6
    Dernier message: 05/02/2016, 14h22
  2. Récupérer valeur dans une cellule - insertion ligne
    Par userparis dans le forum Excel
    Réponses: 2
    Dernier message: 10/02/2014, 13h50
  3. [XL-2003] récupérer valeur d'une cellule, dans plusieurs fichiers placés dans des sous-dossiers
    Par greenfire15 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/08/2012, 09h42
  4. [Débutant] Récupérer valeur d'une cellule Excel
    Par Skice dans le forum VB.NET
    Réponses: 2
    Dernier message: 08/07/2011, 09h44
  5. C# GridView Récupérer valeur d'une cellule
    Par Neodream dans le forum C#
    Réponses: 4
    Dernier message: 05/05/2010, 01h05

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