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 :

Insérer une formule dans une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Points : 353
    Points
    353
    Par défaut Insérer une formule dans une cellule
    bonjour

    je travaille avec office 2007

    voici mon problème

    je veux insérer une formule dans des cellules de ma page
    le probleme est que à la place de m'afficher le resultat de ma formule, il m'affiche la formule

    a la place d'avoir "1" dans ma cellule je me retrouve avec "=VLOOKUP(B4;sort;2;FALSE)"

    j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Worksheets("WorkingData Staging").Range("C" & index) = "=VLOOKUP(B" & index & ";sort;2;FALSE)"
     
    Worksheets("WorkingData Staging").Range("C" & index).Formula = "=VLOOKUP(B" & index & ";sort;2;FALSE)"
     
    Worksheets("WorkingData Staging").Range("C" & index).Value = "=VLOOKUP(B" & index & ";sort;2;FALSE)"
     
    Worksheets("WorkingData Staging").Range("C" & index).FormulaR1C1  = "=VLOOKUP(B" & index & ";sort;2;FALSE)"
     
     
    Worksheets("WorkingData Staging").Range("C" & index).FormulaLocal= "=VLOOKUP(B" & index & ";sort;2;FALSE)"
    et ca me fait toujours la même chose


    quelqu'un peut il m'aider ?

  2. #2
    Membre actif Avatar de Drost
    Profil pro
    Inscrit en
    Août 2007
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 192
    Points : 212
    Points
    212
    Par défaut
    Yop'

    Petite question bete mais as tu essayé avec l'enregistreur?

  3. #3
    Membre averti
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Points : 353
    Points
    353
    Par défaut
    oui ca me donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],sort,2,FALSE)"
    donc j'ai essayé d'appliquer a mon code comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("DataSource").Range("C" & index).FormulaR1C1 = "=VLOOKUP(RC[-1],sort,2,FALSE)"
    mais ca me fait le meme probleme

    ca m'affiche "=VLOOKUP(RC[-1],sort,2,FALSE)" dans ma cellule à la place de la valeur que j'attend

  4. #4
    Membre actif Avatar de Drost
    Profil pro
    Inscrit en
    Août 2007
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 192
    Points : 212
    Points
    212
    Par défaut
    As tu essayé comme ce ci?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheet("DataSource").select
    Cells(index,3).select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],sort,2,FALSE)"

  5. #5
    Membre actif Avatar de Drost
    Profil pro
    Inscrit en
    Août 2007
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 192
    Points : 212
    Points
    212
    Par défaut
    Sinon ca peut aussi venir du format de ta cellule...

  6. #6
    Membre averti
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Points : 353
    Points
    353
    Par défaut
    j'ai essayé ca fonctionne pas non plus

    le format de la cellule j'ai essayé de changer de mettre "general" ou des autres mais ca change rien

  7. #7
    Membre averti
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Points : 353
    Points
    353
    Par défaut
    du nouveau :

    en fait quand je copie/colle des données dans ma feuille, les cellules sont modifiées et ne prennent plus les formules en compte

    Si je veux appliquer la formule "=3+2" sur une page vierge ca marche j'obtien "5" dans ma cellule

    par contre si je le fait dans une page où j'ai copie / collé mes données, cela me donne "=3+2"

    une idée de la solution pour me sortir de la ?

    (c'est peut etre un probleme connu sur excel je ne sais pas, je decouvre excel depuis cette semaine en fait )

  8. #8
    Membre régulier
    Homme Profil pro
    Contrôleur des Systèmes d'Information
    Inscrit en
    Mars 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Contrôleur des Systèmes d'Information
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2007
    Messages : 72
    Points : 105
    Points
    105
    Par défaut
    Peut être faut-il essayer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sheet("DataSource").select
    Cells(index,3).select
    Selection.NumberFormat = "General"
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],sort,2,FALSE)"
    C'est à dire ajouter la ligne Selection.NumberFormat = "General" avant la ligne de formule.

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    tes formules ont un point commun, il leur manque quelque chose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "=VLOOKUP(""cible"",R[-2]C:R[-1]C[3],2,FALSE)"

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 93
    Points : 73
    Points
    73
    Par défaut
    Bonjour, en effet il manque le range sur lequel tu appliques ta recherche.

    Pour ma part je n'ai aucun probleme avec un exemple comme celui ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Sub test()
     
    Range("C2").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],R1C1:R7C2,2)"
     
    End Sub
    Par contre dans l'aide d'excel il t'indique effectivement que tu peux trier les valeurs en utilisant la fonction "sort" qui est dans le menu "donnees". Mais en aucun cas il ne s'agit de code VBA (vu que l'aide de VBA ne dit rien sur la formule VLOOKUP) que tu dois ajouter dans ta macro

  11. #11
    Membre averti
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Points : 353
    Points
    353
    Par défaut
    Citation Envoyé par jkodio Voir le message
    C'est à dire ajouter la ligne Selection.NumberFormat = "General" avant la ligne de formule.
    nickel ca fonctionne avec ca

    merci beaucoup

  12. #12
    Membre averti
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Points : 353
    Points
    353
    Par défaut
    Citation Envoyé par da991319 Voir le message
    Bonjour, en effet il manque le range sur lequel tu appliques ta recherche.

    Pour ma part je n'ai aucun probleme avec un exemple comme celui ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Sub test()
     
    Range("C2").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],R1C1:R7C2,2)"
     
    End Sub
    Par contre dans l'aide d'excel il t'indique effectivement que tu peux trier les valeurs en utilisant la fonction "sort" qui est dans le menu "donnees". Mais en aucun cas il ne s'agit de code VBA (vu que l'aide de VBA ne dit rien sur la formule VLOOKUP) que tu dois ajouter dans ta macro


    en fait "sort" c'est le nom de ma table dans laquelle va chercher Vlookup (enfin si j'ai bien compris le truc parce que ce n'est pas moi qui ai crée le fichier excel au debut)

    merci bcp pour l'aide en tout cas

  13. #13
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    je n'ai rien trouvé la dessus, éclaire moi sur comment trouvé ce passage, mais même a supposer que l'on puisse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "=VLOOKUP(RC[-1],sort,2,FALSE)"
    sort quoi ? tu ne lui indique aucune range de recherche, comment il devine? a moins que sort soit le nom d'une variable ? genre sort = range ("a1:a2")?
    mais dans ce cas, vérifie que cette plage est bien nommée

  14. #14
    Membre averti
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Points : 353
    Points
    353
    Par défaut
    oui apparament sort c'est une range

    en fait j'ai 2 colonnes
    dans la premiere un id et dans la 2 eme une valeur

    vlookup va chercher la valeur correspondant a l'id avec ce range la

  15. #15
    Membre régulier
    Homme Profil pro
    Contrôleur des Systèmes d'Information
    Inscrit en
    Mars 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Contrôleur des Systèmes d'Information
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2007
    Messages : 72
    Points : 105
    Points
    105
    Par défaut
    Citation Envoyé par sam_XIII Voir le message
    nickel ca fonctionne avec ca

    merci beaucoup
    C'était un plaisir d'avoir été utile. Je vois que la discussion continue sur tout un autre sujet.

    J.Kodio

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

Discussions similaires

  1. [XL-2010] Insérer le résultat d'une formule dans une case
    Par Walaboss dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/04/2015, 17h19
  2. [Toutes versions] Imbriquer une formule dans une formule à l'aide de l'outil Insertion de fonction
    Par Philippe Tulliez dans le forum Contribuez
    Réponses: 0
    Dernier message: 27/08/2014, 11h21
  3. Réponses: 2
    Dernier message: 23/03/2014, 12h05
  4. [XL-2010] Formule : attribuer une formule dans une cellule
    Par popi33370 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/03/2014, 18h06
  5. Réponses: 3
    Dernier message: 29/01/2008, 12h08

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