renseignement sur une formule matricielle

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

sev31130

XLDnaute Impliqué
bonjour,

j ai une formule matricielle qui est la suivante :

=INDEX(O!A$3:A$316;EQUIV(9^9;O!A$3:A$316;1))

pourriez vous me dire si c'est possible :

voila mon problème, cette formule marche, elle copie bien la dernière ligne de la feuille "O", vers la feuille ou j'ai mis cette formule, mais elle se copie en remplacement de la dernière ligne qu'elle m'efface
Ce que je voudrais c'est qu'elle se copie à la suite les unes des autres
Est ce une erreur dans ma formule, si oui pouvez vous me la rectifier SVP merci
Amicalement
Yves
 
Re : renseignement sur une formule matricielle

Bonjour

Ce n'est pas une formule matricielle (même si elle utilise des plages de cellules en références) mais une "simple" formule de recherche, qui extrait de ton tableau de la feuille O la dernière valeur de la plage A3:A316.
Tu ne peux pas par formule placer cette valeur dans la première ligne vide sous un tableau existant. Le résultat de cette formule se place obligatoire dans la cellule ou la formule se trouve. Tu ne peux pas écrire dans la cellule A1 =2+2 et avoir un truc qui dise à excel de mettre le résultat en B5 🙂
Si tu veux faire cela il faut passer par une macro.
un exemple en qui vient chercher la dernière valeur de la colonne A avec ta formule et qui vient la placer dans la première cellule vide de la colonne C.
Code:
Sub test()
Dim dernVal As Double
With Sheets("truc")
dernVal = Application.WorksheetFunction.Index(.Range("A1:A4"), Application.WorksheetFunction.Match(9 ^ 9, .Range("A1:A4"), 1))
.Range("C1").End(xlDown).Offset(1, 0) = dernVal
End With
End Sub


Note bien que tu pourrais tout aussi bien récupérer la dernière valeur de la colonne A sans passer par cette formule index/equiv en VBA :
Code:
Sub test()
With Sheets("truc")
.Range("C1").End(xlDown).Offset(1, 0)=.Range("A1").End(xlDown)
End With
End Sub
 
Dernière édition:
Re : renseignement sur une formule matricielle

bonsoir

merci pour ta réponse, ne connaissant pas grand chose je pensais que c'était une matricielle
Merci
j'ai testé ta formule en VBA elle donne, mais j'ai omis de dire que je saisie sur soit une feuille "O" soit une feuille "T" soit une feuille "P" et si je ta formule VBA ca marche pour la feuille ou je l'inclus mais pas pour les autres

Merci de me dire la rectif a faire

Mille fois merci
 
Re : renseignement sur une formule matricielle

POur que le code que je t'ai donné fonctionne tu as du l'adapter 🙂 j'avais appelé ma feuille "truc" il faut que tu remplaces par le nom de ta feuille.
Si tu veux le code soit actif sur la feuille... active tu remplaces
With Sheets("truc")
par
with activesheeet

ou tu mets directement
Code:
Sub test()
Range("C1").End(xlDown).Offset(1, 0)=Range("A1").End(xlDown)
End Sub

ce code affectera la feuille active
 
Re : renseignement sur une formule matricielle

bonsoir

tu vois j'y suis depuis que tu ma l as envoyé et je n y arrive pas si tu veux bien me l'adapter
je t'envoi le classeur si tu veux bien l'inclure cela me serait agréable
(c) CJoint.com, 2012

par avance merci
 
Re : renseignement sur une formule matricielle

Bonjour
Désolée mais je n'ai pas le temps pour rentrer dans la (très grande) complexité de ton classeur et de tes macros pour répondre à ta question. D'autres t'aideront peut être à aller plus loin mais je passe la main.

Juste quelques remarques au passage
- il ne faut pas prévoir à l'avance des lignes vides destinées à recueillir de nouvelles données. Avec l'exemple que je t'ai donné, on va chercher la dernière valeur d'une colonne pour la colonne sous la dernière cellule non vide d'une autre. Si tu mets en colonne A des dates d'avance, c'est sous ces valeurs que ça viendra se coller la nouvelle valeur. La fonctionnalité tableaux avec excel 2007 et + permet en ajoutant une valeur sous un tableau qu'il s'y intègre, en créant une nouvelle ligne qui recopie les formules de la ligne précédente. C'est notamment fait pour éviter de prévoir des lignes vides
Ce lien n'existe plus
- autant enregistrer ton classeur en xlsm il sera moins lourd
- tu peux joindre des classeurs sur ce forum sans passer par cjoint. Il te suffit d'aller en mode avancé et de cliquer sur le trombone.
 
- 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
618
  • Question Question
Microsoft 365 Formule si ?
Réponses
7
Affichages
377
Retour