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

Messages postés
377
Date d'inscription
lundi 3 avril 2006
Dernière intervention
22 août 2018
- 20 oct. 2010 à 20:19 - Dernière réponse :
Messages postés
377
Date d'inscription
lundi 3 avril 2006
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
Dernière intervention
22 août 2018
- 20 oct. 2010 à 22:42
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

Merci CerberusPau 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de CerberusPau
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Dernière intervention
22 août 2018
- 20 oct. 2010 à 20:29
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

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.