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 :

Chemin de répertoire [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 70
    Points : 52
    Points
    52
    Par défaut Chemin de répertoire
    bonjour,
    me revoilà avec un problème qui doit certainement être tout bête a résoudre.

    si je définis /
    une variable avec un chemin ex: Chemin_Photo = "C:\Users\ANTEC\Desktop\TSCP Test Prog\Photo\"
    Tout se passe bien
    mais si je definis cette variable à partir d'une cellulle d'une feuille ex : Chemin_Photo = Sheets("DonnéesDiverses").Range("E2").Value
    alors la cela bug

    je cherche depuis 2 jours sans avoir trouver la solution qui devrait me sauter aux yeux

    ci dessous une partie de mon code ( je sais on doit pouvoir faire plus léger)


    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Private Sub ComboBox2_Prenom_AfterUpdate()    ' affiche la photo de la personne dans le cadre photo
     
    ' definition des variables
    Dim Chemin_Photo As String
    Dim Nom_Prenom_Photo As String
    Dim Chemin_Nom As String
    Dim Chemin_Nom_Inconnu As String
     
    ' affiche la premiere lettre du prenom en majuscule    OK
    ComboBox2_Prenom = UCase(Left(ComboBox2_Prenom, 1)) & LCase(Mid(ComboBox2_Prenom, 2, Len(ComboBox2_Prenom) - 1))
     
    ' definit le chemin du repertoire Photo
    'Chemin_Photo = "C:\Users\ANTEC\Desktop\TSCP Test Prog\Photo\"
    Chemin_Photo = Sheets("DonnéesDiverses").Range("E2").Value    '  C:\Users\ANTEC\Desktop\TSCP Test Prog\Photo\
     
    MsgBox (Chemin_Photo)   ' OK    pour vérification du chemin de stockage des photos
     
    ' affichage du chemin photo  pour controle
    ' TextBox19.Value = Chemin_Photo
    Nom_Prenom_Photo = ComboBox1_Nom.Value & " " & ComboBox2_Prenom.Value   'OK
     
    ' affichage du nom_premon de la photo recherchée   pour controle
    ' TextBox20.Value = Nom_Prenom_Photo
    MsgBox (Nom_Prenom_Photo)   'OK
     
    Chemin_Nom = Chemin_Photo & Nom_Prenom_Photo & ".jpg"   ' OK
     
    ' affichage  du chemin complet de la photo   pour controle
    ' TextBox21.Value = Chemin_Nom
    MsgBox (Chemin_Photo & Nom_Prenom_Photo & ".jpg")   ' OK
     
    Chemin_Nom_Inconnu = Chemin_Photo & "Photo indisponible" & ".jpg"
     
      'Vérifie si le fichier existe.
        If Dir(Chemin_Nom) <> "" Then       '  XXXXXXXXXXXX bloque a cette ligne  avec msg "Erreur d'execution 52  Nom ou numero fichier incorrect"
            'si le fichier existe, il est chargé pour visualisation.
            Image2_Photo_Adherent.Picture = LoadPicture(Chemin_Nom)
            Else
            'Sinon, affiche aucune image.
            Image2_Photo_Adherent.Picture = LoadPicture(Chemin_Nom_Inconnu)
            Label4.Caption = "Personne inconnue au fichier" & vbCrLf & "Veuillez vérifier l'ortographe"
        End If
     
    ' Affiche l'ID adhérent dans le champ "ID"   Label125     OK
    ' l'ID est constitué des 4 premieres lettres du nom et des 4 premieres lettres du prenom
    Label7_ID.Caption = Left(ComboBox1_Nom.Value, 4) & Left(ComboBox2_Prenom.Value, 4)
     
    ' Ecriture de l'ID dans la cellule "A25" de la feuille "DonnéesDiverses"      OK
    Sheets("DonnéesDiverses").Range("A25").Value = Label7_ID.Caption
     
    End Sub
    merci pour votre aide

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par arthur83fr Voir le message
    mais si je definis cette variable à partir d'une cellulle d'une feuille ex : Chemin_Photo = Sheets("DonnéesDiverses").Range("E2").Value
    alors la cela bug
    Quelle message d'erreur ? Quelle ligne est désignée par le débugage ?

    Tu es SUR que tu pointes sur le bonne cellule et qu'elle contient bien l'équivalent de ce que tu mettais dans ta variable ?
    Tu n'aurais pas oublié le \ final par exemple ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 70
    Points : 52
    Points
    52
    Par défaut
    bonjour,
    comme indiqué dans le code c'est la ligne 35 qui bug et il y a le msg d'erreur
    et non je n'ai pas oublié le \ final de mon chemin C:\Users\ANTEC\Desktop\TSCP Test Prog\Photo\

    je seche toujours

  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
    12 774
    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 : 12 774
    Points : 28 638
    Points
    28 638
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ce que tu indiques est très curieux, il n'y a pas de raison qu'une valeur contenue dans une cellule se comporte différemment qu'une constante. Toutes les applications que je développe utilise des cellules comme paramètres et particulièrement les chemins de dossiers et je n'ai aucun problème.
    Je pencherais plutôt pour un problème de caractère espacé avant ou après la chaîne (qui évidemment ne se voit pas), c'est un classique.
    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

  5. #5
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 70
    Points : 52
    Points
    52
    Par défaut
    bonjour,

    Merci

    C'était tellement évident je me colle des baffes là.
    J'aurais pu encore chercher longtemps. et effectivement le caractère "espace" ne se voiyait pas en debut de chaine du chemin dans ma cellule.

    cela fonctionne maintenat

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 774
    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 : 12 774
    Points : 28 638
    Points
    28 638
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'aurais pu encore chercher longtemps. et effectivement le caractère "espace" ne se voiyait pas en debut de chaine du chemin dans ma cellule.
    Premier réflexe lorsque tu as un problème avec une chaîne de caractères, c'est de vérifier s'il n'y a pas de caractères espacés avant et/ou après. Même avec RECHERCHEV, cela peut se produire
    Trois heures de recherche d'un bug il y a trente ans, cela ne s'oublie pas

    Petit truc, insère la chaîne dans la fonction Trim ainsi tu ne dois plus t'en préoccuper
    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

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/02/2008, 10h57
  2. Réponses: 2
    Dernier message: 08/09/2006, 16h52
  3. Réponses: 4
    Dernier message: 08/08/2006, 23h33
  4. problème avec les chemins de répertoire
    Par psychoBob dans le forum Langage
    Réponses: 12
    Dernier message: 28/05/2006, 10h39
  5. [DEBUTANT] Modifier le chemin du répertoire data
    Par tripper.dim dans le forum Installation
    Réponses: 1
    Dernier message: 12/01/2006, 19h12

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