Comment lancer F2 et ENT avec VBA Excel 2007
rorolidalgo
-
Patrice33740 Messages postés 8931 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8931 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai une macro qui crée la formule suivante:
.Formula = "=SOMME(" & Range(maCel.Offset(-2, 1).End(xlUp), maCel.Offset(-2, 4)).Address & ")"
En gros, elle crée la somme du bloc situé au-dessus.
Le problème est que ces cellules sont en fait des cellules fusionnées de 4 cellules. Doù le 4 dans le 2 iè offset.
Le problème est que la formule ne se valider car il croit faire la somme d'un bloc de cellules,
et il me faut faire F2 + entrée pour réellement valider la formule.
Sur un exemple, cela donne:
=SOMME($T$75:$W$77) "donne le résultat #NOM?
Cela donne l'impression qu'il y a 12 cellules à sommer, alors qu'il n'y en a que 3.
Du coup, j'ai cherché et tenté d'utiliser Sendkeys, juste après la définition de la formule ci-dessus, avec ça:
SendKeys "{F2}", True
Application.SendKeys "~", True 'pour ENTREE
CA NE MARCHE PAS!
Quelqu'un saurait-il me trouver la solution?
merci beaucoup
J'ai une macro qui crée la formule suivante:
.Formula = "=SOMME(" & Range(maCel.Offset(-2, 1).End(xlUp), maCel.Offset(-2, 4)).Address & ")"
En gros, elle crée la somme du bloc situé au-dessus.
Le problème est que ces cellules sont en fait des cellules fusionnées de 4 cellules. Doù le 4 dans le 2 iè offset.
Le problème est que la formule ne se valider car il croit faire la somme d'un bloc de cellules,
et il me faut faire F2 + entrée pour réellement valider la formule.
Sur un exemple, cela donne:
=SOMME($T$75:$W$77) "donne le résultat #NOM?
Cela donne l'impression qu'il y a 12 cellules à sommer, alors qu'il n'y en a que 3.
Du coup, j'ai cherché et tenté d'utiliser Sendkeys, juste après la définition de la formule ci-dessus, avec ça:
SendKeys "{F2}", True
Application.SendKeys "~", True 'pour ENTREE
CA NE MARCHE PAS!
Quelqu'un saurait-il me trouver la solution?
merci beaucoup
A voir également:
- F2 + enter excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
Mais le problème n'est pas là: il faut vraiment valider (ou activer, on va dire) la formule en faisant F2 (ou double clic) puis entrée. sans quoi, le seul fait d'"écrire" la formule par la macro ne l'active pas du tout, et retourne le résultat #NOM!.
J'ai également essayé ensuite maCel.Activate => rien.
Egalement: Calculate => nada. ça ne marche pas.
Donc je pense qu'il me faut un sendkeys F2 puis Entrée. Mais je n'ai pas réussi!
Merci de ton aide!
.FormulaLocal = "=SOMME($T$75:$T$77) "
ou
.Formula = "=SUM($T$75:$T$77)"
Saurais-tu me guider par rapport au Sendkeys qui ne fonctionne pas?
Merci d'avance.
Les cellules fusionnées sont à éviter au maximum
si elles sont horizontales, dé-fusionne et utilise l'option "centrer sur plusieurs colonnes du menu "alignement" pour garder une présentation agréable
par ailleurs: pourquoi veux tu écrire une formule puisque tu utilises une macro? sinon en dynamique et sans VBA tu pourrais utiliser les fonctions imbriquées SOMME(DECALER(....
et en VBA =application.sum(...... te renvoie le résultat
Le problème est résolu, c'était effectivement un FormulaLocal qui était attendu, et c'est le Formula (tout court) qui reoturnait l'erreur #NOM!
Bizarre, car il me semble avoir tjs utilisé Formula...
En tous cas, ça marche et c'est ça qui compte! Merci à tous