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 VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien HSE
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technicien HSE
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Par défaut Insertion de formule VBA
    Bonjour à vous tous,

    cela fait maintenant quelques jours que je me bats avec Excel pour construire un outil permettant le suivi d'actions.

    Je vous explique mon problème:
    J'ai deux fichier. Le premier est un fichier excel, plus précisement un formulaire de saisie. Celui-ci envoie automatiquement les données renseignées vers un autre fichier, dans un autre répertoire. (Jusque là tout fonctionne. Code VBA. Pas de problème.)
    C'est donc mon second fichier, ma base de suivi d'actions que je n'arrive pas à construire correctement. Je n'arrive pas à incrémenter automatiquement les formules aux colonnes.

    Pour mieux comprendre ci-joint, voici le fichier commenté.
    Fichier joint dans vos discussions

    Merci d'avance pour vos réponses.

    SkullBones

  2. #2
    Membre averti
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Août 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 16
    Par défaut
    Bonjour,

    Qu'entends-tu par "Je n'arrive pas à incrémenter automatiquement les formules aux colonnes."?

    Cdt

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien HSE
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technicien HSE
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Par défaut
    Bonjour Yersin,

    merci pour votre réponse et merci pour l'intérêt que vous portez que à ma demande. Veuillez également m'excuser pour ma réponse tardive, mais je ne pouvais me connecter plus tôt.

    Alors, en fait j'aimerais que chaque cellule d'une colonne comporte automatiquement une formule sans forcément qu'elle soit remplis par "FAUX"
    dans mon cas, voici la formule :
    =SI(G6="H";C6+8;SI(G6="M";C6+31;SI(G6="I";C6+93;SI(G6="C";C6))))


    Merci encore

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 141
    Par défaut Formule Excel en coordonnée relative générée par VBA
    1. Décrire le problème sans joindre votre classeur .xls

    Pouvez-vous faire une description du problème en présentant entre les balises [code] et [/code] votre tentative de code VBA pour écrire la formule en telle rangée et colonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(G6="H";C6+8;SI(G6="M";C6+31;SI(G6="I";C6+93;SI(G6="C";C6))))
    Puis la nouvelle formule attendue dans telle autre rangée et colonne incrémentée.

    Fournir le .xls même commenté suivi du classique "cela sera plus explicite" est une solution de facilité.
    Réussir à décrire le problème sans joindre le classeur .xls donne le plus souvent 50% de la solution.

    En plus cela peut éviter que l'on vous répond avec des éléments que vous connaissez déjà. Dans ce cas, sautez les lignes que vous connaissez.
    ___________

    2. Le problème de la formule pourrait être ses coordonnées absolues

    De ce que l'on peut voir du problème sans ouvrir votre classeur, votre formule utilise des coordonnées absolues de cellules G6, C6, etc. Dans le chapitre précédent, on n'a mis en rouge les problèmes potentiels.

    3. Style L1C1 de référence de cellule

    La première chose à faire est de passer Excel en mode L1C1.
    Cliquez sur l'Excel menu "Outils" > "Options" > onglet "General"
    Cochez l'option [x] L1C1 reference style.

    L'entête de colonne de A à Z, etc. passe en coordonnée numérique selon la position du nom de colonne dans l'alphabet.

    Ainsi G6 devient rangée 6 colonne 7 soit L6C7 ou en anglais R6C7 avec le R de Row.

    4. Passez votre formule en Coordonnée Relative

    Réécrire votre formule en coordonnée relative selon le principe RC[index] avec un index relatif pouvant être négatif ou positif par rapport à une colonne donnée, soit dans l'exemple ci-dessous la colonne Q.

    Voir chapitre 4. Génération de la méga formule qui est générée en coordonnée relative RC[index] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub GenFormuleQ1(ByVal A As Integer, ByVal B As Integer, ByVal C As Integer, ByVal D As Integer)
    Dim strFormuleQ1 As String
        strFormuleQ1 = "=IF(AND(R5C22*(RC[" & A & "]+RC[" & B & "])>R6C22*(RC[" & C & "]+RC[" & D & _
                     "]),RC[-16]=1),1,IF(AND(R5C22*(RC[" & A & "]+RC[" & B & "])>R6C22*(RC[" & C & "]+RC[" & D & "]),RC[-16]=0),2,""""))"
     
        ' Propagation de la formule sur la colonne Q : version optimisée
        Range("Q1:Q6300").FormulaR1C1 = strFormuleQ1
    End Sub
    ___________

    Si la discussion est résolue, vous pouvez cliquer sur le bouton

    En bas de ce message s'il vous a apporté des éléments de réponse pertinents, pensez également à voter en cliquant sur le bouton vert ci-dessous.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Technicien HSE
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technicien HSE
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Par défaut
    Merci pour ces informations.

    Je vais tester vos conseils.


Discussions similaires

  1. [XL-2003] Insertion de formule Excel par VBA mais par " "
    Par Sibuxian dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/05/2010, 12h47
  2. Insertion de formules par VBA
    Par Livet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/08/2007, 14h23
  3. Formules VBA excel
    Par psunk dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/08/2006, 13h41
  4. coller formules vba excel
    Par mapmip dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/08/2006, 16h00
  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