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 :

Alimentation d'un objet par une variable string


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2008
    Messages : 225
    Par défaut Alimentation d'un objet par une variable string
    Bonjour le forum,

    J'ai un souci dans un code VBA
    Si j'écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set objFolder = objShell.Namespace("c:\users\xx\photo")
    l'objet objFolder prend la valeur "photo"
    Par contre, si j'utilise le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    With Application.FileDialog(msoFileDialogFolderPicker)
      .AllowMultiSelect = False
      .Show
      FolderName = .SelectedItems(1)
    End With
    Set objFolder = objShell.Namespace(FolderName)
    et que je sélectionne le même dossier, la variable string FolderName contient bien le chemin complet du dossier sélectionné mais l'objet objFolder prend la valeur "empty".
    Dans les deux cas, "objFolder" est défini comme Object


    Un membre du forum pourrait-il m'expliquer comment alimenter un objet par une variable string

    D'avance merci

    Harry

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Bonjour,

    Essayez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub aa()
    Dim objShell As Object
    Set objShell = CreateObject("shell.application")
     
    With Application.FileDialog(msoFileDialogFolderPicker)
      .AllowMultiSelect = False
      .Show
      FolderName = .SelectedItems(1)
    End With
     
    Set objfolder = objShell.Namespace(FolderName)
    MsgBox objfolder.Title
    Set objShell = Nothing
    End Sub

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2008
    Messages : 225
    Par défaut
    Bonsoir PMO2017,

    Vous m'avez donné, indirectement, la solution.
    En insérant votre code dans mon application, il y a toujours un message d'erreur (object not set).
    En fait, vous n'avez pas défini la variable "FolderName" ce qui en fait automatiquement un variant.
    Comme je travaille toujours avc l'option explicit active, j'ai simplement défini "Foldername" en variant et le code s'exécute sans souci.

    Merci pour votre contribution.

    Harry.

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

Discussions similaires

  1. [XL-2013] Définir la position d'affichage d'un ComboBox par une variable string (vba)
    Par pirro dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/01/2015, 15h47
  2. Création d'un objet par une variable?
    Par MiniDevZ dans le forum Débuter avec Java
    Réponses: 12
    Dernier message: 07/02/2012, 11h25
  3. Acceder a un objet par une variable
    Par Steve57 dans le forum Débuter
    Réponses: 6
    Dernier message: 17/06/2011, 17h01
  4. Réponses: 2
    Dernier message: 06/11/2007, 13h23
  5. [VB6] Liberer la memoire utilisée par une variable Objet
    Par ProgElecT dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/08/2006, 19h17

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