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 :

Concatenation VBA XL [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Points : 2
    Points
    2
    Par défaut Concatenation VBA XL
    Bonjour,

    Je débute en VBA et avec quelques morceaux de codes trouvé sur le web j’ai commence la procedure ci-dessous.
    Le but est d’écrire dans une cellule la formule suivante :
    ='D:\My Documents\[test.xls]test!$B$22
    Sachant que le chemin ('D:\My Documents) et le nom de fichier (\[test.xls]test!$B$22) sont des variables.
    Le code fonctionne sauf qu’à la dernière ligne lorsque je met le signe = entre guillemets ça ne marche pas !
    Malgré des heures passées sur le web ne je trouve pas l’erreur, pouvez-vous m’aider SVP,
    Merci

    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
    Sub afficherCheminDosier_BrowseForFolder()
     
    'Demande le chemin du fichier:
     
    Dim objShell As Object, objFolder As Object
    Dim SecuriteSlash As Integer
    Dim Chemin As String
     
    Set objShell = CreateObject("Shell.Application") 'recuperer nom repertoire cible
    Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)
    On Error Resume Next
     
    Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path
    If objFolder.Title = "" Then Chemin = ""
    SecuriteSlash = InStr(objFolder.Title, ":")
    If SecuriteSlash > 0 Then Chemin = Mid(objFolder.Title, SecuriteSlash - 1, 2) & ""
     
    Range("AA1") = Chemin
     
    'demande de selectionner le fichier:
     
        Dim strCsv As String, strTemp() As String
        strCsv = Application.GetOpenFilename("All Files ,*.*", , "Sélectionner le fichier des pièces GOOD à ouvrir")
        [AB1] = Dir(strCsv)
     
    fich = "[" & Dir(strCsv) & "]"
     
    Cells(2, 27).FormulaR1C1 = Chemin
    Cells(3, 27).FormulaR1C1 = "\" & fich & "Feuil1'!C2)"
    a = Range("AA2").Text
    b = Cells(3, 27).Text
    Range("AA4").FormulaR1C1 = "'" & a & b '''''''''''''''''''''''''''''Range("AA4").FormulaR1C1 = "='" & a & b
     
    End Sub

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Pourquoi une apostrophe après le "=" ? Quelles sont les valeurs de a et b ?

  3. #3
    Membre chevronné Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Points : 2 056
    Points
    2 056
    Par défaut
    Bonjour
    Avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A3").FormulaR1C1 = "=" & a & b & ""
    Tu dis

    Bon courage

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Daniel.C Voir le message
    Bonjour,

    Pourquoi une apostrophe après le "=" ? Quelles sont les valeurs de a et b ?
    l'apostrophe là pour respecter la formule excel:
    ='D:\My Documents\[TEST.xls]test'!$B$22

    a et b sont les variables: chemin du fichier (a) et nom du fichier (b)

    Citation Envoyé par Jean-Pierre49 Voir le message
    Bonjour
    Avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A3").FormulaR1C1 = "=" & a & b & ""
    Tu dis

    Bon courage
    Merci mais ça ne fonctionne pas. la formule est bien inscrite dans la cellule mais sans le signe =

    Je cherche, je cherche.....pas évident pour moi, mais avec le web!

  5. #5
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Le code suivant fonctionne pour moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    a = "D:\My Documents"
    b = "\[TEST.xls]test'!$B$22"
    Range("A3").Formula = "='" & a & b

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Merci Daniel.
    Effectivement ça fonctionne comme ça mais pas dans mon code avec des variables!
    Cdlt,

  7. #7
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Quelle est la différence ? Quel est le contenu de tes deux cellules ?

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Et bien justement, je ne vois pas de différence, mais ton code seul fonctionne correctement, mais mon code ne fonctionne pas.

    Cdlt,

  9. #9
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Tu as bien mis ".Formula", pas ".FormulaR1C1" ?
    Et si tu enlèves :
    est-ce que ça plante sur la même ligne ?

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    En fait la macro ne plante pas, simplement ça n'écrit rien dans le cellule.
    Par exemple si je mets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("AA4").Formula = "'" & a & b
    il y a bien un resultat dans la cellule.

    Par contre si je mets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("AA4").Formula = "='" & a & b
    (je rajoute juste le signe =) Alors le code fonctionne (pas d'erreur) mais la cellule est vide.
    Je ne comprends pas!

  11. #11
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Enlève le :

    ligne 11.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2011
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Ca marche!
    Finalement 2 lignes plus haut il y avait une paranthèse en trop dans cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(3, 27).FormulaR1C1 = "\" & fich & "Sheet1'!C2)"
    Je l'ai enlevé mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("AA4").Formula = "='" & a & b
    fonctionne avec le signe =

    Merci de votre support et désolé

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

Discussions similaires

  1. Probleme Concatenation VBA
    Par vadius dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 08/07/2011, 12h38
  2. VBA-E concatenation de feuilles
    Par porc-bouc dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/11/2007, 11h20
  3. [VBA] concaténation
    Par dalmasma dans le forum VBA Access
    Réponses: 3
    Dernier message: 27/07/2007, 12h29
  4. Concatenation code VBA
    Par toolmeup dans le forum VBA Access
    Réponses: 6
    Dernier message: 23/07/2007, 16h53
  5. [VBA - Excel]Concatenation checkbox/variable
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/06/2006, 16h45

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