Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Besoin d’une boucle

  • Initiateur de la discussion Initiateur de la discussion pascal82
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pascal82

XLDnaute Occasionnel
Bonjour à tous,

Pour l’instant j’ai ce code qui fonctionne. Par contre 26 boucles max sont autorisées car limite de l’alphabet. De plus ce code est très long et pas souple du tout.

Je cherche désespéramment une méthode ou une boucle avec un « FOR I » pour gagner en souplesse et raccourcir le code, mais cela fait 2 jours que je tourne en rond. Si quelqu’un avait la petite étincelle qui me manque.

Merci par avance

Bout de code:
Code:
Dim A As Long
For A = 20 To 29
Range("BA20").FormulaR1C1 = "=SIN(RC[-52]/R" & A & "c56)"
    Range("BA20").Select
    Selection.AutoFill Destination:=Range("BA20:BA99"), Type:=xlFillDefault
    Range("BA20:BA99").Select
Range("BA12").Copy
Range("BE" & A).PasteSpecial Paste:=xlPasteValues
Next A

Dim B As Long
For B = 20 To 29
Range("ba20").FormulaR1C1 = "=SIN(RC[-52]/R17C57)+SIN(RC[-51]/R" & B & "c56)"
    Range("BA20").Select
    Selection.AutoFill Destination:=Range("BA20:BA99"), Type:=xlFillDefault
    Range("BA20:BA99").Select
Range("ba12").Copy
Range("bF" & B).PasteSpecial Paste:=xlPasteValues
Next B

Dim C As Long
For C = 20 To 29
Range("ba20").FormulaR1C1 = "=SIN(RC[-52]/R17C57)+SIN(RC[-51]/R17C58)+SIN(RC[-50]/R" & C & "c56)"
    Range("BA20").Select
    Selection.AutoFill Destination:=Range("BA20:BA99"), Type:=xlFillDefault
    Range("BA20:BA99").Select
Range("ba12").Copy
Range("bG" & C).PasteSpecial Paste:=xlPasteValues
Next C
 
Re : Besoin d’une boucle

re,

tu n'est pas uniquement limité aux 26 lettres de l'alphabet
cette macro fonctionne
Code:
Sub Macro1()
For azerty = 20 To 29
Beep
Next azerty
End Sub

à+
Philippe
 
Re : Besoin d’une boucle

Salut pascal82 et le forum
Pas sûr de comprendre cette histoire de boucle
Une tentative ;
Code:
Dim A As Long, X As Integer, Str_Val_1 As String, Cel As Range
For X = 1 To 26
    Select Case X
        Case 1
            Str_Val_1 = "=SIN(RC[-52]/R"
            Set Cel = Range("BE1")
        Case 2
            Str_Val_1 = "=SIN(RC[-52]/R17C57)+SIN(RC[-51]/R"
            Set Cel = Range("BF1")
        Case 3
            Str_Val_1 = "=SIN(RC[-52]/R17C57)+SIN(RC[-51]/R17C58)+SIN(RC[-50]/R"
            Set Cel = Range("BG1")
        Case 4
            'suffit de continuer la série
    End Select
    For A = 20 To 29
        Range("BA20").FormulaR1C1 = Str_Val_1 & A & "C56)"
        Range("BA20").AutoFill Destination:=Range("BA20:BA99"), Type:=xlFillDefault
        Range("BA12").Copy
        Cel.Offset(A - 1, 0).PasteSpecial Paste:=xlPasteValues
    Next A
Next X
J'ai supposé que la fin de la formule était toujours "C56)". Dans le cas contraire, il suffit de la transformer en variable et de l'initialiser en même temps que le début.
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
582
B
  • Résolu(e)
2
Réponses
16
Affichages
2 K
benbella1991
B
Réponses
4
Affichages
688
L
Réponses
9
Affichages
1 K
J
  • Question Question
Microsoft 365 Formules
Réponses
2
Affichages
785
J
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…