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 :

Insertion de formule


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut Insertion de formule
    Une petite question toute bete pour vous mes amis programmeur,

    Comment insere t on une formule Excel dans une case en passant par VBA?
    Je m explique: j aimerai que lorsque je clic sur le bouton une formule du type : =If(A1<>0;Lookup(A2;.......)), se loge dans une case genre b5 par exemple.
    J ai mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
           Range ("Z11").Formula= "=If(A1<>0;lookup(A2;.......))
    Et comme vous le lisez ca ne marche pas^^

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    et sinon elle fonctionne ta formule en mode "normal" excel?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("A1") = "=ta formule"

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    en effet ta fonction marche mais je vais te donner ma formule tu va comprendre mon probleme
    c est:

    =If(AA11<>0;Lookup(AA11;[Book1.xls]sheet1!$A:$A;[Book1.xls]Sheet1!$E:$E);"")

    Donc est ce possible ¿¿¿¿¿ ?????

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    je vois...Connaissais pas lookup en anglais . Pourquoi t'essaies pas plutôt avec vlookup (recherchev)

  5. #5
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    En imaginant bien sur que la tache s effectue sur un second cahier^^ ,
    que le "Book1" a été ouvert a partir de ce "Book2" et que la formule va dans une case du "book2"

  6. #6
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    Elle me galere trop cette fonction elle par en vrille sur mon excel je comprend pas^^

  7. #7
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    la Vlook up^^

  8. #8
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    En totu cas la formule est bonne

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    Si ça marche, mets que c'est résolu, ils seront contents les gars du forum

  10. #10
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    J ai trouvé le probleme:

    Lorsque je tappe

    Range("A1")= "=If(.......)""

    Il bug a cause du = situé devant le IF donc si qqn a la solution ce serai enorme, avec une espace devant ca marche mais helas le calcul ne se fait plus^^ normal. Donc a la rigueur si on pe le passer avec un espace et ecrire une ligne qui m est inconnu qui permeterrai de le virer....

    A bonne entendeur salut
    et Merci


  11. #11
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    Au lieu de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1")= "=If(.......)""
    Essaie plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(rows, columns)="=If(.......)"

  12. #12
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    mARCHE PAS

  13. #13
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    c toujours a cause de ce = de mdr^^ juste aant le IF

  14. #14
    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
    Regarde formulaLocal, dans l'aide en ligne, ton "=" n'y est pour rien, par contre, le formula ou formulalocal ou formulalocalR1C1 y sont certainement pour quelque chose

  15. #15
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    J ai bien essayer l aide en ligne mais je ne trouve pas ce dont tu me parle.

    Ma macro est toute conne pourtant elle marche pas je te montre:

    Private Sub CommandButton1_Click()
    Range("Z11")= "=If(AA11<>0;Lookup(AA11;[Book1.xls]sheet1!$A:$A;[Book1.xls]Sheet1!$E:$E);"")"
    End Sub

    sachant que cette forumule part sur un Book 2

    et si je tappe
    Range("Z11")= "If(AA11<>0;Lookup(AA11;[Book1.xls]sheet1!$A:$A;[Book1.xls]Sheet1!$E:$E);"")"

    Alors ca marche mais le calcul ne se fait plus, normal car le = avant la formule n'est plus la.
    Existe t il un argument qui permet de faire cela ou une autre technique??

  16. #16
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    Bonjour à tous

    Private Sub CommandButton1_Click()
    Range("Z11").formula= "=If(AA11<>0;Lookup(AA11;[Book1.xls]sheet1!$A:$A;[Book1.xls]Sheet1!$E:$E);"")"
    End Sub
    bonne journée

  17. #17
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Par défaut
    ca chauffe dur ce matin.

    J'ai eu le soucis

    Essaies en remplacant les ; par des ,

    Vba les remettra en copiant la formule

  18. #18
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    --

    J ai essayer vos deux propositions.
    Malheuresement aucune des deux ne fonctionne.
    Avec le .Formula, y a tjrs le = avant le IF qui me saoul, et en remplacant les ; ca ne change rien (en tout cas pour moi)

    Si qqn a d'autres propositions??

    Merci quand meme a vous

  19. #19
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    re:

    voici un fichier exemple,
    en feuille 1 tu as la base de données
    en feuille 2, colonne B qui est vide sauf la ligne 1
    Si tu cliques sur une ligne, en colonne B apparait la formule
    si tu saisies en colonne A, la formule s'applique

    j'utilise le formulalocal, donc en francais .... si tu utilises le formula, la formule doit etre en anglais

    La formule est plus compliquée que la tienne, puisqu'elle tient compte du decallage de lignes (Target.row)

    en esperant t'avoir aidé

  20. #20
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    Voici mon tableur avec le bouton tu va comprendre mon probleme.
    En gros, lorsque je clic, il me faut la formule qui s insere en A1 et je ne comprend pas pq ca marche pas?
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [JXL] Insertion de formule
    Par JibéCC dans le forum Documents
    Réponses: 8
    Dernier message: 14/08/2008, 12h01
  2. Insertion de formule dans Excel
    Par PIALOU dans le forum VBScript
    Réponses: 4
    Dernier message: 09/10/2007, 23h59
  3. Insertion de formules par VBA
    Par Livet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/08/2007, 14h23
  4. [Excel] Insertion de formule dans ma feuille par macro (erreur400)
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/02/2007, 10h27
  5. [VBA-E] insertion de formule dans cellule
    Par jeff37 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/05/2006, 13h53

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