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 :

Cellule excel et chemin absolu


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 43
    Par défaut Cellule excel et chemin absolu
    Bonjour,
    svp, j'ai besoin d'idée sur mes 2 pb.
    1- j'ai défini une fonction double cliquez pour récupérer une liste par intermédiaire d'un userform.j'ai associé cette fonction à une cellule.
    le pb, c'est que je veux interdire une saisie par le clavier dans cette cellule et que la seule valeur acceptée est celle récupérer par la fonction.
    2-je récupére un fichier csv avec un chemin absolu dans le code java
    exemple dans String chemin=c:/tmp/fichier.csv.

    ,j'aimerai utiliser un chemin relatif tel /tmp/fichier.csv pour la souplesse du code

    je vous remercie d'avance.

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonour,

    1- j'ai défini une fonction double cliquez pour récupérer une liste par intermédiaire d'un userform.j'ai associé cette fonction à une cellule.
    le pb, c'est que je veux interdire une saisie par le clavier dans cette cellule et que la seule valeur acceptée est celle récupérer par la fonction.
    une solution serait d'utiliser une variable Global (Temp dans l'exemple ci dessous) qui contiendra la valeur acceptée dans cette cellule

    Variable Global a déclarer dans un module
    Ensuite dans le Worksheet_Change tu test si la cellule cible (ici A1) a cette valeur sinon tu vides la cellule
    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)
    Temp = "toto"
    End Sub
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(False, False) = "A1" Then
        If Target.Value <> Temp Then Target.Value = ""
    End If
    End Sub

    2-je récupére un fichier csv avec un chemin absolu dans le code java
    exemple dans String chemin=c:/tmp/fichier.csv.

    ,j'aimerai utiliser un chemin relatif tel /tmp/fichier.csv pour la souplesse du code
    J'imagine que ton classeur se trouve sous c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Thisworkbook.Path & "\tmp\fichier.csv"
    NB :dans un chemin ce sont des anti-slashs (probablement une faute de frappe)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 43
    Par défaut
    Bonjour,
    merci pour votre réponse
    voila, j'ai essayé de tester ça sur une case
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(False, False) = "A5" Then
        If Target.Value <> "toto" Then Target.Value = ""
    End If
    End Sub
    J'ai au retour une erreur d'exécution qui m'a rendu la fonction doublez-clique inactive.
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(False, False) = "A5" Then
        If Target.Value <> "toto" Then Target.Value = ""
    End If
    End Sub
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Range("B2:B1000000")) Is Nothing Then
        Target.Value = ""
        Load UserForm1
        UserForm1.Show
    End If
    If Not Application.Intersect(Target, Range("C2:C1000000")) Is Nothing Then
        Target.Value = ""
        Load UserForm2
        UserForm2.Show
    End If
    End Sub

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour le point 1, tu peux aussi associer à cette cellule, une validation de données personnalisée avec comme formule =$A$4="Toto" ($A$4 représente ici l'adresse de la cellule en question)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. excel chemin absolu
    Par bianchini dans le forum Excel
    Réponses: 2
    Dernier message: 18/03/2011, 13h20
  2. récupérer le chemin hypertext lié à une cellule Excel ?
    Par gregcat dans le forum Bases de données
    Réponses: 6
    Dernier message: 15/03/2006, 10h48
  3. [D7-EXCEL2000] Formule dans cellule Excel qui ne se calcule pas
    Par Albertolino dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 09/09/2003, 14h18
  4. Récupérer la couleur d'une cellule excel par Delphi
    Par teamsebracing dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 05/06/2003, 14h50
  5. [langage] Création de dossier en chemin absolu
    Par Jibees dans le forum Langage
    Réponses: 4
    Dernier message: 25/04/2003, 10h57

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