Macro VB- Range ou offset avec formule

sbso

XLDnaute Nouveau
Bonjour

Dans une macro,
Je cherche à copier une FormuleCompliquee
dansla Première Colonne de la case A1 à la case A de numero de ligne : DeuxiemeFormule

En language excel :
FormuleCompliquee
=MAX(SIERREUR(EQUIV("zz";INDIRECT(ADRESSE(LIGNE();COLONNE()+3+1;4)):INDIRECT(ADRESSE(LIGNE();1048576;4)));0);SIERREUR(EQUIV(9^9;INDIRECT(ADRESSE(LIGNE();COLONNE()+3+1;4)):INDIRECT(ADRESSE(LIGNE();16384;4)));0))

DeuxiemeFormule :
=MAX(SIERREUR(EQUIV("zz";INDIRECT(ADRESSE(1;COLONNE()+3+1;4)):INDIRECT(ADRESSE(1048576;COLONNE()+3+1;4)));0);SIERREUR(EQUIV(9^9;INDIRECT(ADRESSE(1;COLONNE()+3+1;4)):INDIRECT(ADRESSE(1048576;COLONNE()+3+1;4)));0))

En language VB
FormuleCompliquee
:D INS1 :D
ActiveCell.FormulaR1C1 = _
"=MAX(IFERROR(MATCH(""zz"",INDIRECT(ADDRESS(1,COLUMN()+3+1,4)):
INDIRECT(ADDRESS(1048576,COLUMN()+3+1,4))),0),
IFERROR(MATCH(9^9,INDIRECT(ADDRESS(1,COLUMN()+3+1,4))
:INDIRECT(ADDRESS(1048576,COLUMN()+3+1,4))),0))"

DeuxiemeFormule
:D INS2 :D
ActiveCell.FormulaR1C1 = _
:"=MAX(IFERROR(MATCH(""zz"",INDIRECT(ADDRESS(ROW(),COLUMN()+3+1,4))
:INDIRECT(ADDRESS(ROW(),1048576,4))),0),IFERROR(MATCH(9^9,
INDIRECT(ADDRESS(ROW(),COLUMN()+3+1,4))
:INDIRECT(ADDRESS(ROW(),16384,4))),0))"

Comme je suis débutant en VB,
Merci de me figurer tout le code (avec les :D INS1 :D et :D INS 2 :D
qu'il est inutile de recopier )

Merci pour le dépannage. S'il vous en plait. Bien entendu.


N.B : La Deuxième Formule est la taille de la première colonne de n'importe quel de votre document excel 2007 tronquée des quatre premières colonnes réservées à l'analyse du document et à la création sur le tas de la macro

La Formule Compliquée est la taille en céllules de la ligne
(à partir de la cinquième colonne)

Ces deux formules sont à mettre sur la première colonne
 

sbso

XLDnaute Nouveau
Re : Macro VB- Range ou offset avec formule

=MAX(SIERREUR(EQUIV("zz";INDIRECT(ADRESSE(LIGNE();
COLONNE()+3+1;4)):INDIRECT(ADRESSE(LIGNE();1048576;
4)));0);SIERREUR(EQUIV(9^9;INDIRECT(ADRESSE(LIGNE();
COLONNE()+3+1;4)):INDIRECT(ADRESSE(LIGNE();16384;4)));0))

1638 4 c'est bien 16384
Il me semle que 2 mois de vb permettent de répondre à cette question
ALlez ... Un effort.... Merci !!

Mon message n'attire foule.
 

Fo_rum

XLDnaute Accro
Re : Macro VB- Range ou offset avec formule

Salut,

si tu es sûr de tes formules, tu en auras les traductions ainsi :
Sélectionne une cellule contenant l'une d'elles, lance l'enregistreur de macro. Valide, le contenu dans la barre de formule, arrête l'enregistreur de macro.
 

sbso

XLDnaute Nouveau
Re : Macro VB- Range ou offset avec formule

Pour recentre ma demande :

Dans une macro,
Je cherche à copier une FormuleCompliquee
dans la Première Colonne de la case A1 à la case A de numéro de ligne : DeuxiemeFormule

C'est simple. Je pense : 10 lignes de code. Tout au plus.
 

Discussions similaires

Réponses
17
Affichages
1 K
Réponses
12
Affichages
686
Compte Supprimé 979
C
Réponses
0
Affichages
194

Statistiques des forums

Discussions
312 758
Messages
2 091 788
Membres
105 074
dernier inscrit
JPATOUNE