Incrémenter .FormulaR1C1 dans Next/For [Résolu]

CerberusPau 376 Messages postés lundi 3 avril 2006Date d'inscription 7 avril 2015 Dernière intervention - 20 oct. 2010 à 20:19 - Dernière réponse : CerberusPau 376 Messages postés lundi 3 avril 2006Date d'inscription 7 avril 2015 Dernière intervention
- 20 oct. 2010 à 22:42
Bnjoutr,

J'ai le code suivant :
Sub Macro3()
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",RC[-1])"
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "=IF(R[1]C[-2]="""","""",R[1]C[-2])"
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "=IF(R[2]C[-3]="""","""",R[2]C[-3])"
' etc...
End Sub

Je veux le transposer dans une boucle Next/For

Par exemple :

Sub SousListe()
Dim i, k
k = Range("A65536").End(xlUp).Row

' 1ère Cellule
Range("B1").Select

' 1ère Formule
ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",RC[-1])"

'   2ème Cellule
Range("C1").Select

' Boucle pour les suivantes jusqu'à dernière cellule en colonne A
For i = 2 To k
    ActiveCell.FormulaR1C1 = "=IF(R[(i)]C[-(i)]="""","""",R[(i)]C[-(i)])"
    Cells(i + 1 & "1").Select
Next i
End Sub


Evidemment, la syntaxe [(i)] n'est pas valide !!

Mais comment faire ? Je sèche...

Merci pour votre aide indéfectible


Cordialement
Rataxes64
Afficher la suite 

Votre réponse

2 réponses

CerberusPau 376 Messages postés lundi 3 avril 2006Date d'inscription 7 avril 2015 Dernière intervention - 20 oct. 2010 à 22:42
+3
Utile
Re Re Bonjour,

J'étais loin du compte !!!

Sub SousListe()
Dim i, j, k, l
l = Range("A65536").End(xlUp).Row - 1

' 1ère Cellule
Range("B1").Select

' 1ère Formule
ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",RC[-1])"

'   2ème Cellule
Range("C1").Select
j = 1
' Boucle pour les suivantes jusqu'à dernière cellule en colonne A
For i = 1 To l
    j = 1 + i
    k = j + 2
    ActiveCell.FormulaR1C1 = "=IF(R[" & i & "]C[-" & j & "]="""","""",R[" & i & "]C[-" & j & "])"
    Cells(1, k).Select
Next i
End Sub


Voilà, il y a peut être plus simple, mais cette fois ça marche.

Si cela peut servir à d'autres...

Cordialement
Rataxes64
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de CerberusPau
CerberusPau 376 Messages postés lundi 3 avril 2006Date d'inscription 7 avril 2015 Dernière intervention - 20 oct. 2010 à 20:29
0
Utile
Re,

J'ai oublié de vous donner le code final sur lequel je sèche :
Sub SousListe()
Dim i , k
k = Range("A65536").End(xlUp).Row

' 1ère Cellule
Range("B1").Select

' 1ère Formule
ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",RC[-1])"

'   2ème Cellule
Range("C1").Select

' Boucle pour les suivantes jusqu'à dernière cellule en colonne A
For i = 2 To k
    ActiveCell.FormulaR1C1 = "=IF(R[" & i & ")]C[-" & i & "]="""","""",R[" & i & ")]C[-" & i & ")])"    Cells(i + 1 & "1").Select
Next i
End Sub


Dim i as Variant ou Integer ne donne rien...

Cordialement
Rataxes64
Commenter la réponse de CerberusPau

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.