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

Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
- - Dernière réponse : CerberusPau
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
- 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

Meilleure réponse
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 157 internautes nous ont dit merci ce mois-ci

Commenter la réponse de CerberusPau
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
0
Merci
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