Simplifacation

Le
pb
Bonjour,
Je sais cela beaucoup de questions en quelques jours.
Est ce que qulequ'un pourrait me dire si il y a un moyen de simplifier ce
code

Cells(2, 9).Select
ActiveCell.FormulaR1C1 =
"=IF(RC[-7]="""","""",VLOOKUP(RC[-7],Qté,7,FALSE))"
Selection.Copy
Range(Split(Range("Num").Address, ":")(1)).Activate
ActiveCell.Offset(0, -5).Select
Selection.PasteSpecial Paste:=xlPasteFormulas,
Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Selection.Copy
Range(Selection, Selection.End(xlUp)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse


Merci
Pascal
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19013141
Tu pourrais avoir quelque chose comme :

L'utilisation de RC dans une formule est indigeste...Tu aurais
avantage à utiliser l'objet "Range" dans tes formules, c'est
beaucoup plus parlant ....Il faut apprendre à traduire ce que
donne l'enregistreur de code.

'-----------------------------------------------
Sub test()
With Cells(2, 9)
.FormulaR1C1 = "=IF(RC[-7]="""","""",VLOOKUP(RC[-7],Qté,7,FALSE))"
.Copy
End With
With Range("Num")
With .Item(.Rows.Count, .Columns.Count).Offset(0, -5)
.PasteSpecial Paste:=xlPasteFormulas, _
Operation:=xlNone
With Range(.Item(1), .Item(1).End(xlUp))
.PasteSpecial Paste:=xlPasteFormulas, _
Operation:=xlNone
End With
End With
End With
Application.CutCopyMode = False
End Sub
'-----------------------------------------------




"pb" #
Bonjour,
Je sais cela beaucoup de questions en quelques jours.
Est ce que qulequ'un pourrait me dire si il y a un moyen de simplifier ce
code

Cells(2, 9).Select
ActiveCell.FormulaR1C1 "=IF(RC[-7]="""","""",VLOOKUP(RC[-7],Qté,7,FALSE))"
Selection.Copy
Range(Split(Range("Num").Address, ":")(1)).Activate
ActiveCell.Offset(0, -5).Select
Selection.PasteSpecial Paste:=xlPasteFormulas,
Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Selection.Copy
Range(Selection, Selection.End(xlUp)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse


Merci
Pascal
pb
Le #19013131
Ok, Merci
Mais je plante car je suis sur que je me complique la vie dans mon code car
cette opération se répète 15 fois pour 15 critères différents.

"MichDenis"
Tu pourrais avoir quelque chose comme :

L'utilisation de RC dans une formule est indigeste...Tu aurais
avantage à utiliser l'objet "Range" dans tes formules, c'est
beaucoup plus parlant ....Il faut apprendre à traduire ce que
donne l'enregistreur de code.

'-----------------------------------------------
Sub test()
With Cells(2, 9)
.FormulaR1C1 = "=IF(RC[-7]="""","""",VLOOKUP(RC[-7],Qté,7,FALSE))"
.Copy
End With
With Range("Num")
With .Item(.Rows.Count, .Columns.Count).Offset(0, -5)
.PasteSpecial Paste:=xlPasteFormulas, _
Operation:=xlNone
With Range(.Item(1), .Item(1).End(xlUp))
.PasteSpecial Paste:=xlPasteFormulas, _
Operation:=xlNone
End With
End With
End With
Application.CutCopyMode = False
End Sub
'-----------------------------------------------




"pb" #
Bonjour,
Je sais cela beaucoup de questions en quelques jours.
Est ce que qulequ'un pourrait me dire si il y a un moyen de simplifier ce
code

Cells(2, 9).Select
ActiveCell.FormulaR1C1 > "=IF(RC[-7]="""","""",VLOOKUP(RC[-7],Qté,7,FALSE))"
Selection.Copy
Range(Split(Range("Num").Address, ":")(1)).Activate
ActiveCell.Offset(0, -5).Select
Selection.PasteSpecial Paste:=xlPasteFormulas,
Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Selection.Copy
Range(Selection, Selection.End(xlUp)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse


Merci
Pascal





MichDenis
Le #19013871
| Mais je plante car je suis sur que je me complique la vie
| dans mon code car cette opération se répète 15 fois
| pour 15 critères différents.

Si ta question ne correspond pas à la problématique de ton application,
il ne faut pas te surprendre d'obtenir une réponse insatisfaisante !
pb
Le #19013831
C'est jamais ce que j'ai dis ta réponse me satisfait, mais je me posais la
question de savoirsi répété cette opération 15 fois ne compliquait et si il
n'y avait pas plus simple que Mon code.
C'est tout
"MichDenis"
| Mais je plante car je suis sur que je me complique la vie
| dans mon code car cette opération se répète 15 fois
| pour 15 critères différents.

Si ta question ne correspond pas à la problématique de ton application,
il ne faut pas te surprendre d'obtenir une réponse insatisfaisante !








MichDenis
Le #19014101
| je me posais la question de savoirsi répété cette opération
| 15 fois ne compliquait et si il n'y avait pas plus simple
| que Mon code.

Justement comment savoir ... cette interrogation ne faisait
pas parti de ta question initiale et tu n'ajoutes aucune information
pour pouvoir infirmer ou confirmer ton expectative.
pb
Le #19014331
Avec:
Cells(2, 1).Select
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(INDEX(Usine,MATCH(RC41,code,0),1)),"""",(INDEX(Usine,MATCH(RC41,code,0),1)))"

J'extrait une référence produit.
Ensuite avec
Cells(2, 2).Select
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(INDEX(Libellé,MATCH(RC41,code,0),1)),"""",(INDEX(Libellé,MATCH(RC41,code,0),1)))"
Selection.Copy
Une autre donnée et ainsi de suite sur 15 col.

Je pensais qu'il y avait plus simple et q'une fois la rérrence extraite je
pouvais peut-être copier toute la ligne correspondante.
J'en suis là de mes réflexions

"MichDenis"
| je me posais la question de savoirsi répété cette opération
| 15 fois ne compliquait et si il n'y avait pas plus simple
| que Mon code.

Justement comment savoir ... cette interrogation ne faisait
pas parti de ta question initiale et tu n'ajoutes aucune information
pour pouvoir infirmer ou confirmer ton expectative.






MichDenis
Le #19014751
'------------------------------
For a = 1 to 15

Cells(2, a).FormulaR1C1 = _
"=IF(ISERROR(INDEX(Usine,MATCH(RC41,code,0),1)),"""",(INDEX(Usine,MATCH(RC41,code,0),1)))"

Next
'------------------------------
pb
Le #19015321
Merci,
Deux je suis là dessus.
Et de 50 et quelques lignes je passe à une.
Merci Beaucoup
"MichDenis"
'------------------------------
For a = 1 to 15

Cells(2, a).FormulaR1C1 = _

"=IF(ISERROR(INDEX(Usine,MATCH(RC41,code,0),1)),"""",(INDEX(Usine,MATCH(RC41,code,0),1)))"

Next
'------------------------------






Publicité
Poster une réponse
Anonyme