Un petit truc pour te faciliter la tâche. Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci : En cellule A3 tu vas écrire la même formule que A1 mais en anglais Il te restera à dédoubler les guillements lorsque tu feras un copier-coller dans la fenêtre de l'éditeur de code Range("A3") = "'" & Range("A1").Formula Range("A10").Formula = _ "=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula = "=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) & ",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) & ",Produit,0),1)))""PABD" a écrit dans le message de groupe de discussion :,Comment puis-je traduire cette formule en VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
Un petit truc pour te faciliter la tâche.
Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci :
En cellule A3 tu vas écrire la même formule que A1 mais en anglais
Il te restera à dédoubler les guillements lorsque tu feras un copier-coller
dans la fenêtre de l'éditeur de code
Range("A3") = "'" & Range("A1").Formula
Range("A10").Formula = _
"=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula = "=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) & ",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) & ",Produit,0),1)))""PABD" <pabd@nospam.fr> a écrit dans le message de groupe de discussion :ecOsIulnJHA.4912@TK2MSFTNGP04.phx.gbl...Bonjour,Comment puis-je traduire cette formule en VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
Un petit truc pour te faciliter la tâche. Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci : En cellule A3 tu vas écrire la même formule que A1 mais en anglais Il te restera à dédoubler les guillements lorsque tu feras un copier-coller dans la fenêtre de l'éditeur de code Range("A3") = "'" & Range("A1").Formula Range("A10").Formula = _ "=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula = "=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) & ",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) & ",Produit,0),1)))""PABD" a écrit dans le message de groupe de discussion :,Comment puis-je traduire cette formule en VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
PA
Salut, Personnelement, j'essaie de ne jamais mettre de formule directement dans mon code VBA. C'est trop peu flexible (eg: si t'ajoutes une colonne, ça ne marche plus). Enplus, c'est dur à cause de la traduction et de l'armée de guillements.
Donc, ce que je te conseille, c'est de donner un nom à ta formule avec Insertion>Nom>Définir. Tu peux la nommer RecherchePrix et dans ton code vba, tu n'as qu'à insérer "=RecherchePrix" dans la cellule.
PA
"PABD" wrote:
Bonjour, Comment puis-je traduire cette formule en VBA =SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).
Sachant qu'elle est dynamique et que $A2 est fonction de la ligne sélectionnée. Si je sélectionne la ligne =$a2 Si c'est la trois=$a3
et ainsi de suite
Merci Pascal
Salut,
Personnelement, j'essaie de ne jamais mettre de formule directement dans mon
code VBA. C'est trop peu flexible (eg: si t'ajoutes une colonne, ça ne marche
plus). Enplus, c'est dur à cause de la traduction et de l'armée de
guillements.
Donc, ce que je te conseille, c'est de donner un nom à ta formule avec
Insertion>Nom>Définir. Tu peux la nommer RecherchePrix et dans ton code vba,
tu n'as qu'à insérer "=RecherchePrix" dans la cellule.
PA
"PABD" wrote:
Bonjour,
Comment puis-je traduire cette formule en VBA
=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).
Sachant qu'elle est dynamique et que $A2 est fonction de la ligne
sélectionnée.
Si je sélectionne la ligne =$a2
Si c'est la trois=$a3
Salut, Personnelement, j'essaie de ne jamais mettre de formule directement dans mon code VBA. C'est trop peu flexible (eg: si t'ajoutes une colonne, ça ne marche plus). Enplus, c'est dur à cause de la traduction et de l'armée de guillements.
Donc, ce que je te conseille, c'est de donner un nom à ta formule avec Insertion>Nom>Définir. Tu peux la nommer RecherchePrix et dans ton code vba, tu n'as qu'à insérer "=RecherchePrix" dans la cellule.
PA
"PABD" wrote:
Bonjour, Comment puis-je traduire cette formule en VBA =SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).
Sachant qu'elle est dynamique et que $A2 est fonction de la ligne sélectionnée. Si je sélectionne la ligne =$a2 Si c'est la trois=$a3
et ainsi de suite
Merci Pascal
MichDenis
En supplément, si tu dois copier la même formule sur une plage de cellule, tu peux utiliser ceci :
Un petit exemple : '------------------------------ Sub test() Dim Rg As Range Set Rg = Range("B5:B25") 'où la formule sera copiée
"MichDenis" a écrit dans le message de groupe de discussion :
Un petit truc pour te faciliter la tâche. Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci : En cellule A3 tu vas écrire la même formule que A1 mais en anglais Il te restera à dédoubler les guillements lorsque tu feras un copier-coller dans la fenêtre de l'éditeur de code Range("A3") = "'" & Range("A1").Formula Range("A10").Formula = _ "=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenantpour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula ="=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) &",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) &",Produit,0),1)))""PABD" a écrit dans le message de groupe de discussion:,Comment puis-je traduire cette formule enVBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si jesélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
En supplément, si tu dois copier la même formule
sur une plage de cellule, tu peux utiliser ceci :
Un petit exemple :
'------------------------------
Sub test()
Dim Rg As Range
Set Rg = Range("B5:B25") 'où la formule sera copiée
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de groupe de discussion :
518C6663-0214-40FA-9B35-4A8E5170D05F@microsoft.com...
Un petit truc pour te faciliter la tâche.
Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci :
En cellule A3 tu vas écrire la même formule que A1 mais en anglais
Il te restera à dédoubler les guillements lorsque tu feras un copier-coller
dans la fenêtre de l'éditeur de code
Range("A3") = "'" & Range("A1").Formula
Range("A10").Formula = _
"=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenantpour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula ="=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) &",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) &",Produit,0),1)))""PABD" <pabd@nospam.fr> a écrit dans le message de groupe de discussion:ecOsIulnJHA.4912@TK2MSFTNGP04.phx.gbl...Bonjour,Comment puis-je traduire cette formule enVBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si jesélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
"MichDenis" a écrit dans le message de groupe de discussion :
Un petit truc pour te faciliter la tâche. Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci : En cellule A3 tu vas écrire la même formule que A1 mais en anglais Il te restera à dédoubler les guillements lorsque tu feras un copier-coller dans la fenêtre de l'éditeur de code Range("A3") = "'" & Range("A1").Formula Range("A10").Formula = _ "=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenantpour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula ="=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) &",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) &",Produit,0),1)))""PABD" a écrit dans le message de groupe de discussion:,Comment puis-je traduire cette formule enVBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si jesélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
isabelle
salut Denis,
sais tu pourquoi celle-ci fonctionne Range("A3").Formula = "=IF(ISERROR(MATCH($A2,Produit,0)),"""",INDEX(Prix,MATCH($A2,Produit,0)))" mais pas celle-ci, à moins d'y ajouter un p'tit coup d'édition Range("A4").Formula = "=SI(ESTERREUR(EQUIV($A2,Produit,0)),"""",INDEX(Prix,EQUIV($A2,Produit,0)))" SendKeys "{F2}~", True
isabelle
MichDenis a écrit :
Un petit truc pour te faciliter la tâche. Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci : En cellule A3 tu vas écrire la même formule que A1 mais en anglais Il te restera à dédoubler les guillements lorsque tu feras un copier-coller dans la fenêtre de l'éditeur de code Range("A3") = "'" & Range("A1").Formula Range("A10").Formula = _ "=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula = "=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) & ",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) & ",Produit,0),1)))""PABD" a écrit dans le message de groupe de discussion :,Comment puis-je traduire cette formule en VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
salut Denis,
sais tu pourquoi celle-ci fonctionne
Range("A3").Formula =
"=IF(ISERROR(MATCH($A2,Produit,0)),"""",INDEX(Prix,MATCH($A2,Produit,0)))"
mais pas celle-ci, à moins d'y ajouter un p'tit coup d'édition
Range("A4").Formula =
"=SI(ESTERREUR(EQUIV($A2,Produit,0)),"""",INDEX(Prix,EQUIV($A2,Produit,0)))"
SendKeys "{F2}~", True
isabelle
MichDenis a écrit :
Un petit truc pour te faciliter la tâche.
Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci :
En cellule A3 tu vas écrire la même formule que A1 mais en anglais
Il te restera à dédoubler les guillements lorsque tu feras un copier-coller
dans la fenêtre de l'éditeur de code
Range("A3") = "'" & Range("A1").Formula
Range("A10").Formula = _
"=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula = "=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) & ",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) & ",Produit,0),1)))""PABD" <pabd@nospam.fr> a écrit dans le message de groupe de discussion :ecOsIulnJHA.4912@TK2MSFTNGP04.phx.gbl...Bonjour,Comment puis-je traduire cette formule en VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
sais tu pourquoi celle-ci fonctionne Range("A3").Formula = "=IF(ISERROR(MATCH($A2,Produit,0)),"""",INDEX(Prix,MATCH($A2,Produit,0)))" mais pas celle-ci, à moins d'y ajouter un p'tit coup d'édition Range("A4").Formula = "=SI(ESTERREUR(EQUIV($A2,Produit,0)),"""",INDEX(Prix,EQUIV($A2,Produit,0)))" SendKeys "{F2}~", True
isabelle
MichDenis a écrit :
Un petit truc pour te faciliter la tâche. Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci : En cellule A3 tu vas écrire la même formule que A1 mais en anglais Il te restera à dédoubler les guillements lorsque tu feras un copier-coller dans la fenêtre de l'éditeur de code Range("A3") = "'" & Range("A1").Formula Range("A10").Formula = _ "=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula = "=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) & ",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) & ",Produit,0),1)))""PABD" a écrit dans le message de groupe de discussion :,Comment puis-je traduire cette formule en VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
PABD
Merci "MichDenis" a écrit dans le message de news:
Un petit truc pour te faciliter la tâche. Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci : En cellule A3 tu vas écrire la même formule que A1 mais en anglais Il te restera à dédoubler les guillements lorsque tu feras un copier-coller dans la fenêtre de l'éditeur de code Range("A3") = "'" & Range("A1").Formula Range("A10").Formula = _ "=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula = "=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) & ",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) & ",Produit,0),1)))""PABD" a écrit dans le message de groupe de discussion :,Comment puis-je traduire cette formule en VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
Merci
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
518C6663-0214-40FA-9B35-4A8E5170D05F@microsoft.com...
Un petit truc pour te faciliter la tâche.
Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci :
En cellule A3 tu vas écrire la même formule que A1 mais en anglais
Il te restera à dédoubler les guillements lorsque tu feras un
copier-coller
dans la fenêtre de l'éditeur de code
Range("A3") = "'" & Range("A1").Formula
Range("A10").Formula = _
"=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant
pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula =
"=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) &
",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1)
& ",Produit,0),1)))""PABD" <pabd@nospam.fr> a écrit dans le message de
groupe de discussion
:ecOsIulnJHA.4912@TK2MSFTNGP04.phx.gbl...Bonjour,Comment puis-je traduire
cette formule en
VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant
qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si
je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de
suiteMerciPascal
Merci "MichDenis" a écrit dans le message de news:
Un petit truc pour te faciliter la tâche. Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci : En cellule A3 tu vas écrire la même formule que A1 mais en anglais Il te restera à dédoubler les guillements lorsque tu feras un copier-coller dans la fenêtre de l'éditeur de code Range("A3") = "'" & Range("A1").Formula Range("A10").Formula = _ "=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula = "=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) & ",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) & ",Produit,0),1)))""PABD" a écrit dans le message de groupe de discussion :,Comment puis-je traduire cette formule en VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
MichDenis
Bonjour Isabelle,
Tu connais la différence en FormulaLocal et formula ? Vous avez reçu trop de neige ? Épuisé par la pelle ? ;-)))
"isabelle" a écrit dans le message de groupe de discussion :
salut Denis,
sais tu pourquoi celle-ci fonctionne Range("A3").Formula "=IF(ISERROR(MATCH($A2,Produit,0)),"""",INDEX(Prix,MATCH($A2,Produit,0)))" mais pas celle-ci, à moins d'y ajouter un p'tit coup d'édition Range("A4").Formula "=SI(ESTERREUR(EQUIV($A2,Produit,0)),"""",INDEX(Prix,EQUIV($A2,Produit,0)))" SendKeys "{F2}~", True
isabelle
MichDenis a écrit :
Un petit truc pour te faciliter la tâche. Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci : En cellule A3 tu vas écrire la même formule que A1 mais en anglais Il te restera à dédoubler les guillements lorsque tu feras un copier-coller dans la fenêtre de l'éditeur de code Range("A3") = "'" & Range("A1").Formula Range("A10").Formula = _
"=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula = "=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) & ",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) & ",Produit,0),1)))""PABD" a écrit dans le message de groupe de discussion :,Comment puis-je traduire cette formule en VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
Bonjour Isabelle,
Tu connais la différence en FormulaLocal et formula ?
Vous avez reçu trop de neige ? Épuisé par la pelle ?
;-)))
"isabelle" <i@v> a écrit dans le message de groupe de discussion :
Oy1DVWmnJHA.3876@TK2MSFTNGP02.phx.gbl...
salut Denis,
sais tu pourquoi celle-ci fonctionne
Range("A3").Formula "=IF(ISERROR(MATCH($A2,Produit,0)),"""",INDEX(Prix,MATCH($A2,Produit,0)))"
mais pas celle-ci, à moins d'y ajouter un p'tit coup d'édition
Range("A4").Formula "=SI(ESTERREUR(EQUIV($A2,Produit,0)),"""",INDEX(Prix,EQUIV($A2,Produit,0)))"
SendKeys "{F2}~", True
isabelle
MichDenis a écrit :
Un petit truc pour te faciliter la tâche.
Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci :
En cellule A3 tu vas écrire la même formule que A1 mais en anglais
Il te restera à dédoubler les guillements lorsque tu feras un copier-coller
dans la fenêtre de l'éditeur de code
Range("A3") = "'" & Range("A1").Formula
Range("A10").Formula = _
"=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant
pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula =
"=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) &
",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) &
",Produit,0),1)))""PABD" <pabd@nospam.fr> a écrit dans le message de groupe de
discussion :ecOsIulnJHA.4912@TK2MSFTNGP04.phx.gbl...Bonjour,Comment puis-je traduire
cette formule en
VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant
qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne
la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
Tu connais la différence en FormulaLocal et formula ? Vous avez reçu trop de neige ? Épuisé par la pelle ? ;-)))
"isabelle" a écrit dans le message de groupe de discussion :
salut Denis,
sais tu pourquoi celle-ci fonctionne Range("A3").Formula "=IF(ISERROR(MATCH($A2,Produit,0)),"""",INDEX(Prix,MATCH($A2,Produit,0)))" mais pas celle-ci, à moins d'y ajouter un p'tit coup d'édition Range("A4").Formula "=SI(ESTERREUR(EQUIV($A2,Produit,0)),"""",INDEX(Prix,EQUIV($A2,Produit,0)))" SendKeys "{F2}~", True
isabelle
MichDenis a écrit :
Un petit truc pour te faciliter la tâche. Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci : En cellule A3 tu vas écrire la même formule que A1 mais en anglais Il te restera à dédoubler les guillements lorsque tu feras un copier-coller dans la fenêtre de l'éditeur de code Range("A3") = "'" & Range("A1").Formula Range("A10").Formula = _
"=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula = "=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) & ",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) & ",Produit,0),1)))""PABD" a écrit dans le message de groupe de discussion :,Comment puis-je traduire cette formule en VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
MichDenis
Je te soupçonne d'avoir une version anglaise, sinon tu aurais dû te retrouver avec des ; au lieu des , dans la formule.
Je te soupçonne d'avoir une version anglaise, sinon
tu aurais dû te retrouver avec des ; au lieu des , dans
la formule.
sais tu pourquoi celle-ci fonctionne Range("A3").Formula = "=IF(ISERROR(MATCH($A2,Produit,0)),"""",INDEX(Prix,MATCH($A2,Produit,0)))" mais pas celle-ci, à moins d'y ajouter un p'tit coup d'édition Range("A4").Formula = "=SI(ESTERREUR(EQUIV($A2,Produit,0)),"""",INDEX(Prix,EQUIV($A2,Produit,0)))" SendKeys "{F2}~", True
isabelle
MichDenis a écrit :
Un petit truc pour te faciliter la tâche. Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci : En cellule A3 tu vas écrire la même formule que A1 mais en anglais Il te restera à dédoubler les guillements lorsque tu feras un copier-coller dans la fenêtre de l'éditeur de code Range("A3") = "'" & Range("A1").Formula Range("A10").Formula = _
"=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula = "=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) & ",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) & ",Produit,0),1)))""PABD" a écrit dans le message de groupe de discussion :,Comment puis-je traduire cette formule en VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
"isabelle" <i@v> a écrit dans le message de news:
Oy1DVWmnJHA.3876@TK2MSFTNGP02.phx.gbl...
salut Denis,
sais tu pourquoi celle-ci fonctionne
Range("A3").Formula =
"=IF(ISERROR(MATCH($A2,Produit,0)),"""",INDEX(Prix,MATCH($A2,Produit,0)))"
mais pas celle-ci, à moins d'y ajouter un p'tit coup d'édition
Range("A4").Formula =
"=SI(ESTERREUR(EQUIV($A2,Produit,0)),"""",INDEX(Prix,EQUIV($A2,Produit,0)))"
SendKeys "{F2}~", True
isabelle
MichDenis a écrit :
Un petit truc pour te faciliter la tâche.
Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci :
En cellule A3 tu vas écrire la même formule que A1 mais en anglais
Il te restera à dédoubler les guillements lorsque tu feras un
copier-coller
dans la fenêtre de l'éditeur de code
Range("A3") = "'" & Range("A1").Formula
Range("A10").Formula = _
"=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant
pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula =
"=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) &
",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0,
1) & ",Produit,0),1)))""PABD" <pabd@nospam.fr> a écrit dans le message de
groupe de discussion
:ecOsIulnJHA.4912@TK2MSFTNGP04.phx.gbl...Bonjour,Comment puis-je traduire
cette formule en
VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant
qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si
je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de
suiteMerciPascal
sais tu pourquoi celle-ci fonctionne Range("A3").Formula = "=IF(ISERROR(MATCH($A2,Produit,0)),"""",INDEX(Prix,MATCH($A2,Produit,0)))" mais pas celle-ci, à moins d'y ajouter un p'tit coup d'édition Range("A4").Formula = "=SI(ESTERREUR(EQUIV($A2,Produit,0)),"""",INDEX(Prix,EQUIV($A2,Produit,0)))" SendKeys "{F2}~", True
isabelle
MichDenis a écrit :
Un petit truc pour te faciliter la tâche. Supposons que ta formule est en A1
En vba, dans un petit procédure tu peux écrire ceci : En cellule A3 tu vas écrire la même formule que A1 mais en anglais Il te restera à dédoubler les guillements lorsque tu feras un copier-coller dans la fenêtre de l'éditeur de code Range("A3") = "'" & Range("A1").Formula Range("A10").Formula = _
"=IF(ISERROR(INDEX(Prix,MATCH($A2,Produit,0),1)),"""",(INDEX(Prix,MATCH($A2,Produit,0),1)))"Maintenant pour A2 , qu'il s'adapte lors de la recopie ...Range("A10").Formula = "=IF(ISERROR(INDEX(Prix,MATCH(" & _ Range("A2").Address(0, 1) & ",Produit,0),1)),"""",(INDEX(Prix,MATCH(" _ & Range("A2").Address(0, 1) & ",Produit,0),1)))""PABD" a écrit dans le message de groupe de discussion :,Comment puis-je traduire cette formule en VBA=SI(ESTERREUR(INDEX(Prix;EQUIV($A2;Produit;0);1));"";(INDEX(Prix;EQUIV($A2;Produit;0);1))).Sachant qu'elle est dynamique et que $A2 est fonction de la lignesélectionnée.Si je sélectionne la ligne =$a2Si c'est la trois=$a3et ainsi de suiteMerciPascal
isabelle
MichDenis a écrit :
Bonjour Isabelle,
Tu connais la différence en FormulaLocal et formula ? Vous avez reçu trop de neige ? Épuisé par la pelle ? ;-)))
pas beaucoup de neige, mais de la pluie :-(
FormulaLocal ne passe pas, (Erreur d'exécution '1004') avec Formula, pas de message d'erreur mais il faut éditer la cellule,
isabelle
MichDenis a écrit :
Bonjour Isabelle,
Tu connais la différence en FormulaLocal et formula ?
Vous avez reçu trop de neige ? Épuisé par la pelle ?
;-)))
pas beaucoup de neige, mais de la pluie :-(
FormulaLocal ne passe pas, (Erreur d'exécution '1004')
avec Formula, pas de message d'erreur mais il faut éditer la cellule,