Formule Matricielle en VBA

Pimousse34
Messages postés
9
Date d'inscription
vendredi 3 septembre 2010
Statut
Membre
Dernière intervention
19 août 2011
- 19 août 2011 à 12:28
Pimousse34
Messages postés
9
Date d'inscription
vendredi 3 septembre 2010
Statut
Membre
Dernière intervention
19 août 2011
- 19 août 2011 à 19:32
Bonjour,


Je ne sais si je suis au bon endroit dans le forum...mais si une petite ou grande ame charitable pouvait jeter un oeil a mon problème

Voila j'essaie sous Excel 2003 en VBA de remplir une cellule avec une formule matricielle Index :
INDEX(Fraude_en_attente!$G$1:$G$65000;MAX(SI((Synthese_fichier_client!F2Fraude_en_attente!$C$1:$C$65000)*(Synthese_fichier_client!C2=Fraude_en_attente!$E$1:$E$65000);LIGNE(Fraude_en_attente!$G$1:$G$65000);0)))

J'arrive à remplir la cellule mais je n'arrive pas à lui imposer le ctrl + maj + enter (pavé num).

J'ai essayé le formula.array...sans grang succès...qq'un aurait une idée ??

Par avance merci !!

Cordialement


Pimousse

9 réponses

NHenry
Messages postés
14966
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
9 août 2022
161
19 août 2011 à 16:49
Bonjour,

As-tu enregistré l'action avec l'enregistreur de macro ?
ça donne quoi ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
Pimousse34
Messages postés
9
Date d'inscription
vendredi 3 septembre 2010
Statut
Membre
Dernière intervention
19 août 2011

19 août 2011 à 18:37
Avec l'enregistreur, ca me donne le code pour inscrire la formule dans la cellule mais rien pour le ctrl maj enter...

J'ai essayé d'autre part application sendkey pour reproduire le ctrl.. mais ca ne marche pas non plus...la suite de touche doit se faire à la fin de la formule et non en se positionnant simplement sur la cellule...

roooooo
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
19 août 2011 à 18:51
Bonjour,
Tu dis que tu veux écrire ta formule depuis VBA.
Que viendrait alors faire là un CTRL-MAJ-ENTER ?
C'est depuis le code VBA, que tu dois attribuer ta formule aux cellules de ton choix, pas depuis ta feuille Excel !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Pimousse34
Messages postés
9
Date d'inscription
vendredi 3 septembre 2010
Statut
Membre
Dernière intervention
19 août 2011

19 août 2011 à 19:04
Bien j'ai réussi a écrire ma formule depuis VBA mais celle ci ne fonctionne qu'avec les { } qui sont générés par le ctrl maj enter qd on le fait "manuellement" directement par excel.

Il faudrait peut etre que je mette un exemple rapide en pièce jointe... je vais en cree un vite fait.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
19 août 2011 à 19:07
Montre plutôt le code VBA que tu as écrit (en commentant les lignes concernées).


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Pimousse34
Messages postés
9
Date d'inscription
vendredi 3 septembre 2010
Statut
Membre
Dernière intervention
19 août 2011

19 août 2011 à 19:18
Fichier test
Voici un petit fichier test
Dans l'onglet "base"..ma base de donnée.
Dans l'onglet "MAJ" mes données mises à jour.
Je souhaite dans ce 2eme onglet ajouter en colonne D ma formule matricielle qui récupère la colonne C de mon onglet "base" en respectant les 2 conditions : montant et num chèque identique.
0
Pimousse34
Messages postés
9
Date d'inscription
vendredi 3 septembre 2010
Statut
Membre
Dernière intervention
19 août 2011

19 août 2011 à 19:23
oh bah en VBA ca donne un truc du style :

range("D2") = "=INDEX(Base!$C$1:$C$65000,MAX(if((MAJ!A2=Base!$A$1:$A$65000)*(MAJ!B2=Base!$B$1:$B$65000),ROW(Base!$C$1:$C$65000),0)))"

mais ca marche pas il manque la formule matricielle...
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
19 août 2011 à 19:27
ouvre ton aide en ligne sur les mots Formula et Formulalocal.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Pimousse34
Messages postés
9
Date d'inscription
vendredi 3 septembre 2010
Statut
Membre
Dernière intervention
19 août 2011

19 août 2011 à 19:32
formula et formula array ca marche pas avec la formule index...je vais zieuter la formulalocal ^^ mirci
0