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 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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 211
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 211
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 211
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
Rejoignez-nous