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

Possibilité d'optmiser une formule matricielle ?

  • Initiateur de la discussion Initiateur de la discussion sophie
  • 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 !

sophie

XLDnaute Nouveau
Bonjour à tous,

Tout d'abord, je suis novice sur le forum donc je m'excuse d'avance si ma question paraît stupide, mal formulée ou a déjà obtenu une réponse ailleurs. Je m'efforcerais de faire mieux la prochaine fois.

Voici mon problème :
Je cherche à identifier dans un tableau des identifiants de brevets, ces identifiants étant inscrits dans un autre tableau sur une autre feuille. Grâce à ce forum et à d'autres, j'ai pu trouver une formule matricielle qu fonctionne pour ce que je recherche. La voici : =(SOMME(ESTNUM(CHERCHE(SI(Feuil4!$B$2:$KB$2<>"";Feuil4!$B$2:$KB$2);Feuil7!C$2))*LIGNE(Feuil4!$B$2:$KB$2))>0)*1
Feuil4!$B$2:$KB$2 correspond à la plage dans laquelle je cherche mes identifiants (1 brevet pouvant avoir une multitude d'identifiants)
Feuil7!C$2 correspond à la cellule dans laquelle je recherche au moins un des identifiants inscrits dans la plage Feuil4!$B$2:$KB$2. Si un des identifiants est présent, la formule me renvoie 1, sinon 1.
Je répète cette action pour autant de brevets cités que j'ai.
Le problème est qu'elle est très longue à appliquer sur l'ensemble de mes données. Je dois appliquer cette formule pour chaque cellule d'un tableau qui comprends plus de 8000 colonnes et près de 2600 lignes. Je souhaiterais donc savoir s'il existe des moyens d'optimiser cette opération afin de gagner du temps, car pour l'instant je ne peux étirer la formule que sur 300 lignes et une dizaine de colonnes à chaque fois.

Je me demande donc si :
adapter ma formule sur VBA me permettrait de gagner du temps ?
il existe un moyen de simplifier cette formule ?
le fait de scinder mon tableau de donnée en deux tableaux distincts que je traiterais l'un à la suite de l'autre aiderait Excel à aller plus vite ?

Merci d'avance pour votre aide !
 
Re : Possibilité d'optmiser une formule matricielle ?

Bonjour,
En effet pour un tel volume de données le VBA semble plus indiqué (8000 colonnes ???? comment fais-tu cela ?)

Il faudra cependant joindre un exemple (allégé) de fichier sans données confidentielles pour qu'un macroteur puisse t'aider.

Cordialement
 
Re : Possibilité d'optmiser une formule matricielle ?

Bonjour,

Merci beaucoup pour votre réactivité !!
J'ai 8 803 colonnes car 8 803 brevets citants, et j'ai 2 698 lignes car 2 698 brevets cités.
Je vous joins un fichier simplifié :
la feuille 1 contient l'information dont j'ai besoin pour seulement 2 brevets citants
la feuille 2 contient l'information dont j'ai besoin pour seulement 2 brevets cités
la feuille fournit un exemple du calcul de ma formule matricielle.
La formule m'inscrit 1 pour le croisement entre le brevet cité 2 et le brevet citant 2, ce qui est correcte et 0 pour les autres ce qui est correct également.
Je dois ensuite étirer ma formule pour tester chaque couple de brevet entre mes 2 698 brevets cités et 8 803 brevets citants.

Encore merci !
 

Pièces jointes

- 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
10
Affichages
596
Réponses
1
Affichages
132
Réponses
3
Affichages
319
Réponses
7
Affichages
269
  • Question Question
Réponses
2
Affichages
65
Réponses
10
Affichages
616
Réponses
10
Affichages
222
Réponses
3
Affichages
129
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…