Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro VB- Range ou offset avec formule

  • Initiateur de la discussion Initiateur de la discussion sbso
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
😀 INS1 😀
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
😀 INS2 😀
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 😀 INS1 😀 et 😀 INS 2 😀
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
 
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.
 
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.
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
237
Réponses
17
Affichages
1 K
Réponses
20
Affichages
828
Réponses
12
Affichages
938
Compte Supprimé 979
C
Réponses
0
Affichages
459
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…