Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/08/2011, 14h33   #1
Invité de passage
 
Homme
Technicien HSE
Inscription : 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
Points : 0
Points : 0
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
skullbones est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 16h53   #2
Futur Membre du Club
 
Homme
Consultant MOA
Inscription : 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
Points : 16
Points : 16
Bonjour,

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

Cdt
Yersin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 10h09   #3
Invité de passage
 
Homme
Technicien HSE
Inscription : 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
Points : 0
Points : 0
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
skullbones est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 11h51   #4
Membre éclairé
 
Inscription : juillet 2011
Messages : 141
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 141
Points : 382
Points : 382
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 :
=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 :
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.
MattChess est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 11h57   #5
Invité de passage
 
Homme
Technicien HSE
Inscription : 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
Points : 0
Points : 0
Merci pour ces informations.

Je vais tester vos conseils.

skullbones est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h24.


 
 
 
 
Partenaires

Hébergement Web