Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

utiliser une formule excel dans une macro

1 réponse
Avatar
marie-line
Bonjour,

Je souhaite utiliser une macro afin de copier-coller un ensemble de cellules d'un fichier excel à un autre.

Les problème, c'est que les cellules à copier-coller changent chaque semaine.
J'ai réussi à créer une formule qui me permet de sélectionner la première cellule à copier (les suivantes étant sur la même ligne à droite) :

{=INDEX(A2:AU76;MAX(IF((D80=A2:A276)*(E80=B2:B276);ROW(U2:U276);0));MAX(IF((E80=A1:AU2);COLUMN(A2:AU276);0)))}

Elle permet de sélectionner une cellule donc l'abscisse et l'ordonnée changent chaque semaine (dont le numéro est indiqué en cellule E80).

J'aimerais savoir comment insérer cette formule dans une macro en langage VBA.
J'ai essayé d'écrire

ActiveCell.Application.WorksheetFunction.INDEX...
en remplaçant les points virgules par des virgules et en mettant les plages de données entre "" mais visual basic ne reconnait pas IF!

Là j'avoue que je suis perdue!

Si quelqu'un avait une idée lumineuse...

merci beaucoup

Marie-Line

1 réponse

Avatar
Sam
Bonjour,
je ne suis pas sur d'avoir compris ce que tu désires mais ceci ne serait pas
suffisant ?

Adresse = Range("E80")
Range(Adresse).Select

Cordialement
Michel dit "Sam"

"marie-line" a écrit dans le message de news:

Bonjour,

Je souhaite utiliser une macro afin de copier-coller un ensemble de
cellules
d'un fichier excel à un autre.

Les problème, c'est que les cellules à copier-coller changent chaque
semaine.
J'ai réussi à créer une formule qui me permet de sélectionner la première
cellule à copier (les suivantes étant sur la même ligne à droite) :

{=INDEX(A2:AU76;MAX(IF((D80¢:A276)*(E80²:B276);ROW(U2:U276);0));MAX(IF((E80¡:AU2);COLUMN(A2:AU276);0)))}

Elle permet de sélectionner une cellule donc l'abscisse et l'ordonnée
changent
chaque semaine (dont le numéro est indiqué en cellule E80).

J'aimerais savoir comment insérer cette formule dans une macro en langage
VBA.
J'ai essayé d'écrire

ActiveCell.Application.WorksheetFunction.INDEX...
en remplaçant les points virgules par des virgules et en mettant les
plages de
données entre "" mais visual basic ne reconnait pas IF!

Là j'avoue que je suis perdue!

Si quelqu'un avait une idée lumineuse...

merci beaucoup

Marie-Line