Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Passage macro vers "For i =" ?

9 réponses
Avatar
eric
Bonjour,

Je n'arrive pas à transformer ma première macro (essai1, enregistrée
manuellement) en une deuxième automatisée grace a un "For i =".
Le "RC[-41]" équivaut à à A2,A3...donc je pensais pouvoir mettre A & i, mais
je bloque!


Sub essai1()
Sheets("feuil1").Select
Range("AP2").Select
ActiveCell.FormulaR1C1 = "=RIGHT(RC[-41],12)"
End Sub

Sub essai2()
Sheets("feuil1").Select
For i = 2 To 4
Sheets("feuil1").Range("AP" & i).Select
ActiveCell.FormulaR1C1 = "=RIGHT(A & i),12)"
Next i
End Sub


Merci d'avance pour votre aide précieuse, ;-)
Eric

9 réponses

Avatar
isabelle
bonjour Eric,

modifi FormulaR1C1 (format RC) par Formula (format A1)

Sub essai2()
Sheets("feuil1").Select
For i = 2 To 4
Sheets("feuil1").Range("AP" & i).Select
ActiveCell.Formula = "=RIGHT(A & i),12)"
Next i
End Sub


isabelle

Bonjour,

Je n'arrive pas à transformer ma première macro (essai1, enregistrée
manuellement) en une deuxième automatisée grace a un "For i =".
Le "RC[-41]" équivaut à à A2,A3...donc je pensais pouvoir mettre A & i,
mais je bloque!


Sub essai1()
Sheets("feuil1").Select
Range("AP2").Select
ActiveCell.FormulaR1C1 = "=RIGHT(RC[-41],12)"
End Sub

Sub essai2()
Sheets("feuil1").Select
For i = 2 To 4
Sheets("feuil1").Range("AP" & i).Select
ActiveCell.FormulaR1C1 = "=RIGHT(A & i),12)"
Next i
End Sub


Merci d'avance pour votre aide précieuse, ;-)
Eric


Avatar
JB
Bonjour,

Sub essai2()
For i = 2 To 4
Sheets("feuil1").Range("AP" & i).Formula = "=RIGHT(A" & i & ",12)"
Next i
End Sub

JB

On 16 jan, 17:17, "eric" wrote:
Bonjour,

Je n'arrive pas à transformer ma première macro (essai1, enregistrée
manuellement) en une deuxième automatisée grace a un "For i =".
Le "RC[-41]" équivaut à à A2,A3...donc je pensais pouvoir mettre A & i, mais
je bloque!

Sub essai1()
Sheets("feuil1").Select
Range("AP2").Select
ActiveCell.FormulaR1C1 = "=RIGHT(RC[-41],12)"
End Sub

Sub essai2()
Sheets("feuil1").Select
 For i = 2 To 4
    Sheets("feuil1").Range("AP" & i).Select
    ActiveCell.FormulaR1C1 = "=RIGHT(A & i),12)"
    Next i
End Sub

Merci d'avance pour votre aide précieuse, ;-)
Eric


Avatar
eric
Bonjour à tous les deux,
Merci beaucoup. J'apprécie votre aide. ;)
Bonne soirée,
Eric
Avatar
eric
Re-bonsoir,

Pardon mais j'ai un problème similaire avec des fonctions si imbriquées.

La formule de départ est :
=SI(G2="3 ons";"3M";SI(G2="6 ons";"6M";SI(G2="9 ons";"9M";SI(G2="2
ons";"2M";"erro"))))


J'essaye de la transformer en ajoutant des double guillemets ainsi que des
virgules à la place des points virgules (cela fonctionne pour une fonction
si mais pour deux je bloque!):

Sub essai3()
For i = 2 To 4
Sheets("feuil1").Range("AQ" & i).Formula = "=IF(G" & i & " = ""3
ons"",""3M"",IF(G" & i & " = ""6 ons"",""6M"",IF(G" & i & " = ""9
ons"",""9M"",IF(G" & i & " = ""2 ons"",""2M"",""erro"")))))"
Next i
End Sub

Merci d'avance,
Eric
Avatar
JB
For i = 2 To 4
Sheets("feuil1").Range("AQ" & i).FormulaLocal = _
"=SI(G2=""3 ons"";""3M"";SI(G2=""6 ons"";""6M"";SI(G2=""9
ons"";""9M"";SI(G2=""2ons"";""2M"";""erro""))))"
Next i

JB

On 16 jan, 18:28, "eric" wrote:
Re-bonsoir,

Pardon mais j'ai un problème similaire avec des fonctions si imbriquée s.

La formule de départ est :
=SI(G2="3 ons";"3M";SI(G2="6 ons";"6M";SI(G2="9 ons";"9M";SI(G2= "2
ons";"2M";"erro"))))

J'essaye de la transformer en ajoutant des double guillemets ainsi que des
virgules à la place des points virgules (cela fonctionne pour une foncti on
si mais pour deux je bloque!):

Sub essai3()
For i = 2 To 4
Sheets("feuil1").Range("AQ" & i).Formula = "=IF(G" & i & " = ""3
ons"",""3M"",IF(G" & i & " = ""6 ons"",""6M"",IF(G" & i & " = ""9
ons"",""9M"",IF(G" & i & " = ""2 ons"",""2M"",""erro"")))))"
Next i
End Sub

Merci d'avance,
Eric


Avatar
eric
Fantastique! ;) Merci beaucoup JB. ;)
Bonne soirée,
Eric

"JB"
For i = 2 To 4
Sheets("feuil1").Range("AQ" & i).FormulaLocal = _
"=SI(G2=""3 ons"";""3M"";SI(G2=""6 ons"";""6M"";SI(G2=""9
ons"";""9M"";SI(G2=""2ons"";""2M"";""erro""))))"
Next i
JB


Avatar
eric
Bonsoir,

Excusez-moi, mais j'ai de nouveau un souci avec la macro suivante. Merci
d'avance si vous pouviez m'aidez. ;)

sub boucle
For i = 2 To 4

'nb: Ai contient une formule qui me renvoit du texte concatené "textemoi"

If Sheets("calculs2").Range("A & i") = "textemoi" Then
Sheets("calculs2").Range("B" & i).Formula = "=(L" & i & ")+(M" & i & ")"

Else
End If

'j'ai aussi essayé ceci sans succès
'If Sheets("calculs2").Range("A & i") = "=(""textemoi"")" Then


Eric
Avatar
Philippe.R
Bonsoir,
Essaye comme ceci :

If Sheets("calculs2").Range("A" & i) = "textemoi" Then

au lieu de

If Sheets("calculs2").Range("A & i") = "textemoi" Then
--

Avec plaisir
http://dj.joss.free.fr/trombine.htm
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"eric" a écrit dans le message de
news:478fc12f$0$4443$
Bonsoir,

Excusez-moi, mais j'ai de nouveau un souci avec la macro suivante. Merci
d'avance si vous pouviez m'aidez. ;)

sub boucle
For i = 2 To 4

'nb: Ai contient une formule qui me renvoit du texte concatené "textemoi"

If Sheets("calculs2").Range("A & i") = "textemoi" Then
Sheets("calculs2").Range("B" & i).Formula = "=(L" & i & ")+(M" & i & ")"

Else
End If

'j'ai aussi essayé ceci sans succès
'If Sheets("calculs2").Range("A & i") = "=(""textemoi"")" Then


Eric



Avatar
eric
Bonsoir Philippe,
Merci beaucoup pour votre aide. ;)
Bonne nuit,
Eric