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 :

Copie de formule du code VBA vers une cellule avec Cells(,) [XL-2010]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Apprenti
    Inscrit en
    Juin 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Apprenti
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2015
    Messages : 35
    Par défaut Copie de formule du code VBA vers une cellule avec Cells(,)
    Bonjour à tous,

    Tout d'abord petite explication générale de l'utilisation de VBA dans mon cas :

    J'ai plusieurs feuilles avec des formats de tableaux différent qui sont lié par des calculs très simples. La macro va me permettre malgré l'éventuel décalage entre colonnes de trouver les valeurs de la bonne cellule. Par exemple j'ai deux tableaux 3(col.)*3(lin.) où ma formule est en deuxième colonne. La formule pointe vers une autre feuille sur deux tableau 1*1. si l'on effectue bêtement la copie de la formule entre les deux premiers tableaux, on trouvera un mauvais résultats dans le second vu qu'il pointera dans le vide.

    Pour cela j'ai monté cette macro mais j'ai un petit souci lié je pense à la fonction Cells. Tout d'abord voici mon code :

    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
    For i = 0 To n - 1
     
    frett_def = "Empilage!" & Cells(29, 67 + i * 3 + i)  'Localisation du frettage en definition
            Dext = "Empilage!" & Cells(15, 67 + i * 3 + i)  'Localisation du diametre exterieur de la piece male
            frett_serv = "Empilage!" & Cells(199, 67 + i * 3 + i)  'Localisation du frettage en service
     
            Cst_fmont = "Constantes_de_frettage!" & Cells(18, 69 + i)
            Cst_fmef = "Constantes_de_frettage!" & Cells(38, 69 + i)
            Cst_ffonc = "Constantes_de_frettage!" & Cells(58, 69 + i)  'Localisation des constantes de frettages des pieces femelles au montage en mef et en service
     
            Cst_Mmont = "Constantes_de_frettage!" & Cells(10, 69 + i)
            Cst_Mmef = "Constantes_de_frettage!" & Cells(30, 69 + i)
            Cst_Mfonc = "Constantes_de_frettage!" & Cells(50, 69 + i)  'Localisation des constantes de frettages des pieces males au montage en mef et en service
     
            P_serv = frett_serv & "/" & Dext & "/" & "(" & Cst_ffonc & "-" & Cst_Mfonc & ") * 0.001" 'Explicitation de la formule de la pression de service
            xlBook.Sheets.Item("Empilage").Cells(198, 3 + 3 * i + i) = P_serv  'Insertion dans la cellule de destination
     
            y = frett_def & "/" & Dext & "/" & "(" & Cst_fmont & "-" & Cst_Mmont & ") * 0.001" 'Explicitation de la formule de la pression de contact au montage
            xlBook.Sheets.Item("Detail_des_effets").Cells(57, 3 + 3 * i + i) = y  'Insertion dans la cellule de destination
     
            y = frett_def & "/" & Dext & "/" & "(" & Cst_fmef & "-" & Cst_Mmef & ") * 0.001" 'Explicitation de la formule de la pression de contact en mef
            xlBook.Sheets.Item("Detail_des_effets").Cells(68, 3 + 3 * i + i) = y  'Insertion dans la cellule de destination
     
            y = frett_serv & "/" & Dext & "/" & "(" & Cst_ffonc & "-" & Cst_Mfonc & ") * 0.001" 'Explicitation de la formule de la pression de contact en service
            xlBook.Sheets.Item("Detail_des_effets").Cells(79, 3 + 3 * i + i) = y  'Insertion dans la cellule de destination

    Le but de ce code est de localiser tout d'abord des valeurs présente dans les cellules de mon fichier puis d'effectuer des calcules relativement simples avec une incrémentation.
    Seul petit souci lors de l’exécution de cette macro, dans les de destination, le calcul n'est pas fait. En effet lorsque je veux envoyer mes résultats de "P_serv" ou "y" dans leur cellules respectives on trouve écrit "Empilage!/Empilage!/(Constantes_de_frettage!-Constantes_de_frettage!) * 0.001".

    Le signe "=" a disparu. Seulement, lorsque je le rajoute, une erreur se produit dans l'exécution de la macro (Erreur de syntaxe).

    Cela est il lié à la fonction Cells? y'a t il un moyen de le contourner?

    Merci d'avance pour vos réponses! (Au besoin le fichier complet est joint).

    Omnbre
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [XL-2010] Traduire une formule en code VBA
    Par thomasdu40 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/07/2012, 09h39
  2. [XL-2007] Macro ou code VBA d'un formule Gauche et Recherche
    Par ghisunit dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/03/2012, 22h36
  3. Ajout d'une formule par code vba
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/05/2011, 09h50
  4. code VBA copie colle cellule d'1 fichier excel à 1autre
    Par tony020422 dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 03/06/2009, 18h47
  5. Parseur formule Excel <-> Code VBA
    Par gretch dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/08/2007, 18h08

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