XL 2013 Code VBA formule extensible

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 !

chezswan

XLDnaute Occasionnel
Bonjour à tous,

Je n'arrive pas à trouver un code VBA satisfaisant qui permettrait d'ajouter et d'étendre la formule qui ressemblerait à : =SIERREUR(INDEX($F$2:$H$5;EQUIV($A2;$G$2:$G$5;0);1);"") dans les 2 dernières colonnes (en jaune).
Le nombre de ligne du tableau peut aussi varier.

Je vous remercie par avance de votre éclairage.

Bonne journée à tous.
 

Pièces jointes

Bonjour,

VB:
Option Explicit

Sub TestFormula()
    Dim LastRow As Long
    LastRow = Cells(Rows.Count, "A").End(xlUp).Row
    Range("C2:C" & LastRow).Formula = "=IFERROR(INDEX(F$2:H$" & LastRow & ",MATCH(A2,G$2:G$" & LastRow & ",0),1),"""")"
    Range("D2:D" & LastRow).Formula = "=IFERROR(INDEX(F$2:H$" & LastRow & ",MATCH(A2,G$2:G$" & LastRow & ",0),3),"""")"
End Sub
 
Bonjour,

Je reviens sur ce même fil, car je n'arrive pas à adapter le code lorsque les 2 tableaux se trouvent sur des feuilles différentes. C'est surement évident, en tous cas pour vous, mais j'avoue que ça m'échappe complètement.

Je vous remercie par avance. Bonne journée à tous.

Swan
 

Pièces jointes

Bonjour,
Un essai en PJ, c'est la même chose que précédemment. Il faut faire attention aux noms de colonnes, et aussi à la position des "$" qui figent les lignes et colonnes.
VB:
=SIERREUR(INDEX(Feuil2!$A:$ZA;EQUIV($A2;Feuil2!$B:$B;0);EQUIV(C$1;Feuil2!$A$1:$AZ$1;0));"")
 

Pièces jointes

Bonjour,
Un essai en PJ, c'est la même chose que précédemment. Il faut faire attention aux noms de colonnes, et aussi à la position des "$" qui figent les lignes et colonnes.
VB:
=SIERREUR(INDEX(Feuil2!$A:$ZA;EQUIV($A2;Feuil2!$B:$B;0);EQUIV(C$1;Feuil2!$A$1:$AZ$1;0));"")
Bonjour Sylvanu,

Merci beaucoup, une fois de plus. J'avais un peu pensé la même chose mais je n'ai surement pas utilisé la/les bonne(s) syntaxe(s).
Je vais reprendre mon tableau et réessayer.

Bonne journée
 
Bonjour,

Je reviens sur mon précédent message. Il se peut que je n'ai pas compris la réponse de sylvanu.
En fait, je ne sais pas adapter le code VBA de Simply lorsque les tableaux se trouvent dans des feuilles distincts.


Je vous remercie par avance de votre aide.

Swan
 
Bonjour,
Le plus simple serait de fournir un fichier test représentatif.
Le post #6 semblait résoudre le problème, non?
Bonjour,

A priori le dernier post convient pour une formule appliquée dans une cellule. Ce que je cherche c'est la même chose en VBA. Le code de Simply fonctionne très bien si les tableaux se trouvent sur la même feuille, mais pas si ils sont sur des feuilles distincts. Le fichier joint conserve le code de simply.

Bonne journée à tous.
 

Pièces jointes

Re,
Il suffit de préciser la feuille de recherche :
VB:
Sub TestFormula()
    Dim LastRow As Long
    LastRow = Cells(Rows.Count, "A").End(xlUp).Row
    Range("C2:C" & LastRow).Formula = "=IFERROR(INDEX(Feuil2!C1:C677,MATCH(RC1,Feuil2!C2,0),MATCH(R1C,Feuil2!R1C1:R1C52,0)),"""")"
    Range("D2:D" & LastRow).Formula = "=IFERROR(INDEX(Feuil2!C1:C677,MATCH(RC1,Feuil2!C2,0),MATCH(R1C,Feuil2!R1C1:R1C52,0)),"""")"
End Sub
 

Pièces jointes

Re,
Il suffit de préciser la feuille de recherche :
VB:
Sub TestFormula()
    Dim LastRow As Long
    LastRow = Cells(Rows.Count, "A").End(xlUp).Row
    Range("C2:C" & LastRow).Formula = "=IFERROR(INDEX(Feuil2!C1:C677,MATCH(RC1,Feuil2!C2,0),MATCH(R1C,Feuil2!R1C1:R1C52,0)),"""")"
    Range("D2:D" & LastRow).Formula = "=IFERROR(INDEX(Feuil2!C1:C677,MATCH(RC1,Feuil2!C2,0),MATCH(R1C,Feuil2!R1C1:R1C52,0)),"""")"
End Sub
Re,

Merci beaucoup pour votre patience et vos réponses. c'est parfait.
 
- 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
5
Affichages
61
Réponses
3
Affichages
284
Retour