Copier avec condition

Cazinos

XLDnaute Occasionnel
Bonsoir le forum

Voici une macro qui m'a été donnée sur ce site, je l'ai adapté à d'autres besoins mais je ne sais pas comment faire pour que la macro copie la formule uniquement si la cellule de la colonne "A" commence par T

merci

Sub copierformules()

Sheets("BX").Select

Range("A2:A" & [A65000].End(xlUp).Row).SpecialCells(xlCellTypeConstants, 23).Offset(, 11).Formula = [Nom_prénom].Formula

Range("A2:A" & [A65000].End(xlUp).Row).SpecialCells(xlCellTypeConstants, 23).Offset(, 12).Formula = [Matricule].Formula

End Sub
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Copier avec condition

Bonsoir,

Personnellement, je pense qu'il vaut mieux écrire la formule en Dur, dans le code, du style :

Code:
For Each cel In Range("A2:A" & [A65000].End(xlUp).Row).SpecialCells(xlCellTypeConstants, 23)
    cel.Offset(, 11).FormulaR1C1 = IIf(Left(cel, 1) = "T", "=RC[-2]+RC[-1]", "")
    cel.Offset(, 12).FormulaR1C1 = IIf(Left(cel, 1) = "T", "=RC[-2]*RC[-1]", "")
Next cel
 

Cazinos

XLDnaute Occasionnel
Re : Copier avec condition

Sub CopierNomPrénomMatricule()

Sheets("Bx").Select

For Each cel In Range("A2:A" & [A65000].End(xlUp).Row).SpecialCells(xlCellTypeConstants, 23)

cel.Offset(, 11).FormulaR1C1 = IIf(Left(cel, 1) = "T", "=RC[-2]+RC[-1]", "")
cel.Offset(, 12).FormulaR1C1 = IIf(Left(cel, 1) = "T", "=RC[-2]*RC[-1]", "")

Next cel

End Sub
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Copier avec condition

Re-,
les formules sont-elles dans la feuille "Bx"?
car la ligne de code :

Code:
Sheets("Bx").Select
est-elle indispensable?

sans le Select :

Code:
With Sheets("Bx")
For Each cel In .Range("A2:A" & .[A65000].End(xlUp).Row).SpecialCells(xlCellTypeConstants, 23)
    cel.Offset(, 11).FormulaR1C1 = IIf(Left(cel, 1) = "T", "=RC[-2]+RC[-1]", "")
    cel.Offset(, 12).FormulaR1C1 = IIf(Left(cel, 1) = "T", "=RC[-2]*RC[-1]", "")
Next cel
End With
 

Cazinos

XLDnaute Occasionnel
Re : Copier avec condition

ca ma donne ça

Sub Macro3()
Range("L2").Select
Selection.Copy
Sheets("BX").Select
Range("L2").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End Sub
 

Cazinos

XLDnaute Occasionnel
Re : Copier avec condition

merci

voici le résultat pour la formule
j'ai fait un test sur la primière colonne avec "=VLOOKUP(RC[1],BDD,2,FALSE)"
ca donne rien surement que je dois pas faire le bon truc


Sub Macro1()

Range("L2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[1],BDD,2,FALSE)"
End Sub

Sub Macro2()
'
Range("M2").Select
ActiveCell.FormulaR1C1 = _
"=IF(MID(SUBSTITUTE(RC[-12],"" /"",""/""),16,1)=""/"",LEFT(RC[-12],15)," & Chr(10) & "IF(MID(SUBSTITUTE(RC[-12],""/ "",""/""),LEN(RC[-12])-15,1)=""/"",RIGHT(RC[-12],15),""Matricule tronqué""))"
End Sub
 

Statistiques des forums

Discussions
315 133
Messages
2 116 606
Membres
112 802
dernier inscrit
Dan Marc