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 :

[VBA-E]Variable String dans un .formula


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Par défaut [VBA-E]Variable String dans un .formula
    Bonjour a tous!

    Voici mon problème
    Je n'arrive pas a passer une variable de type String dans .FormulaR1C1

    par exemple,ca c'est bon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    e =5 
      .Range("D5").FormulaR1C1 = "=VLOOKUP(Package!R1C4,[" & e & "]Plateformes!C1:C9,9,FALSE)"
    Mais ca pas moyen ("erreur 1004")


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim e As String
    e = ThisWorkbook.Name
      .Range("D5").FormulaR1C1 = "=VLOOKUP(Package!R1C4,[" & e & "]Plateformes!C1:C9,9,FALSE)"
    Qqn peut-il m'aider

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Par défaut
    Citation Envoyé par marsupoilu
    Bonjour a tous!

    Voici mon problème
    Je n'arrive pas a passer une variable de type String dans .FormulaR1C1

    par exemple,ca c'est bon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    e =5 
      .Range("D5").FormulaR1C1 = "=VLOOKUP(Package!R1C4,[" & e & "]Plateformes!C1:C9,9,FALSE)"
    Mais ca pas moyen ("erreur 1004")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim e As String
    e = ThisWorkbook.Name
      .Range("D5").FormulaR1C1 = "=VLOOKUP(Package!R1C4,[" & e & "]Plateformes!C1:C9,9,FALSE)"
    Qqn peut-il m'aider

    Merci d'avance
    Il faut tripler les doubles quotes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim e As String
    e = ThisWorkbook.Name
      .Range("D5").FormulaR1C1 = "=VLOOKUP(Package!R1C4,[""" & e & """]Plateformes!C1:C9,9,FALSE)"
    fait le test avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim e As String
    e = ThisWorkbook.Name
    Dim str_formule as string
    str_formule = "=VLOOKUP(Package!R1C4,[""" & e & """]Plateformes!C1:C9,9,FALSE)"
     msgbox str_formule
    essaye avec une seul et avec trois et logiquement ...

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .Range("D5").FormulaR1C1 = "=VLOOKUP(Package!R1C4,'[" & e & "] _
                               Plateformes'!C1:C9,9,FALSE)"
    Essaie ça (sans garantie) mais donne-nous plus de code et surtout une explication sur la raison qui te fait ajouter le nom du classeur alors que ta formule fait référence à Plateformes se trouvant, on peut le supposer, dans le même classeur que Package

  4. #4
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Par défaut
    Re

    Merci a tous les deux!
    Boux2, ta méthode marche bien mais elle ne s'applique pas a .FormulaR1C1
    C'est donc la méthode d' ouskel'n'or (en haut la bas) qui fonctionne

    voici un code plus complet et qui marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    'produit_choisi, filename et platform sont des String public définies précédement
     
    Dim BDD As Workbook
    Dim Classeur As Workbook
     
    Set Classeur = Application.Workbooks(produit_choisi & ".xls")
    Set BDD = Application.Workbooks(filename)
    With Classeur.Worksheets("Package")
        .Range("D1").Value = platform
        .Range("D3").FormulaR1C1 = "=VLOOKUP(Package!R1C4,'[" & filename & "]Plateformes'!C1:C9,2,FALSE)"
        .Range("D5").FormulaR1C1 = "=VLOOKUP(Package!R1C4,'[" & filename & "]Plateformes'!C1:C9,9,FALSE)"
    ...
    Re merci

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

Discussions similaires

  1. Mettre le contenu d'une variable String dans un tableau de String
    Par patriot dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 31/05/2011, 15h25
  2. Réponses: 3
    Dernier message: 26/09/2009, 15h21
  3. [MySql]Insérer une variable "string" dans une requête SQL
    Par Saten dans le forum Windows Forms
    Réponses: 9
    Dernier message: 13/10/2008, 17h39
  4. Réponses: 3
    Dernier message: 16/07/2008, 10h41
  5. [TP] Copier une variable string dans le presse-papier
    Par astyan dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 04/08/2006, 22h47

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