Problème de boucle

B

Benlo

Guest
Bonjour tout le monde,

J'ai dans une feuille, en A2, A3, A4 etc... un code dans chaque cellule. Je cherche à faire une macro en boucle qui viendra mettre en B2, B3, B4 etc... une formule tant que la cellule A ne sera pas vide.

Note: Je ne sais pas d'avance combien de codes j'aurai de listés dans la colonne A.

Voici le bout de code que je tente d'adapter :

Sub Macro14()
'
Sheets('RapportCodesLettres').Range('A2').Select
'
'Déclaration des variables
Dim CelluleCourante As Range
Dim CelluleSuivante As Range
'
'Détermine où sera la cellule courante
Set CelluleCourante = Sheets('RapportCodesLettres').Range('A2')
'
'Cette boucle s'exécutera tant que la cellule ne sera pas vide
Do While Not IsEmpty(CelluleCourante)
Set CelluleSuivante = CelluleCourante.Offset(1, 0)
'
If CelluleCourante.Value <> '' Then
'
ActiveCell.Offset(0, 1).FormulaR1C1 = _
'=SUMPRODUCT((Données!R4C6:R11000C6=RC1)*(Données!R4C48:R11000C48=''sel'')*(Données!R4C40:R11000C40))'
'
End If
'
Set CelluleCourante = CelluleSuivante
Loop
End Sub

Quand j'exécute cette macro, la formule se met bien en B1 mais la macro s'arrête même si j'ai d'autre codes en A3, A4 etc...

Merci de votre aide !
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Benlo, bnjour le forum,

J'ai modifié ton code mais j'obtiens un bug sur la ligne de la formule. Es-tu sûr de cette formule ?


Sub Macro1()
Dim Cel As Range 'déclare la variable Cel
Dim Plage As Range 'déclare la variable Plage

'définit la variable Plage
Set Plage = Sheets('RapportCodesLettres').Range('A2:A' & Sheets('RapportCodesLettres').Range('A65536').End(xlUp).Row)

For Each Cel In Plage 'boucle sur toutes les cellules Cel de la plage Plage
If Cel.Value <> '' Then 'condition : si la cellule Cel n'est pas vide
'place la formule dans la cellule à droite de Cel
Cel.Offset(0, 1).FormulaR1C1 = '=SUMPRODUCT((Données!R4C6:R11000C6=RC1)*(Données!R4C48:R11000C48=''sel'')*(Données!R4C40:R1100 0C40))'
End If 'fin de la condition
Next Cel 'prochaine cellule de la plage Plage
End Sub
 
B

Benlo

Guest
Bonjour Robert,

Merci pour ton bout de code, il fonctionne très bien...

Pour ce qui est du bug sur la formule, je ne sais pas pourquoi il s'est produit mais j'ai remplacé la formule dans le code et tout fonctionne.

Merci beaucoup pour ton aide !

Benlo
 

Discussions similaires

Réponses
1
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 504
Messages
2 089 070
Membres
104 018
dernier inscrit
Mzghal