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

Répéter une boucle n fois

  • Initiateur de la discussion Initiateur de la discussion paseg
  • 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 !

paseg

XLDnaute Nouveau
Bonjour,
Je souhaite répéter une boucle plusieurs fois mais je ne sais pas à l'avance "combien de fois".
J'ai cette solution (fichier joint) mais je dois changer les "integer" i et j à chaque fois. Je souhaiterais que cela soit automatique.
J'ai bien essayé avec quelque chose comme ça (désolé pour l'approximation):
For i = 1 To Range.("A65536").End(xlUp).Row
Erreur...
Pourriez-vous m'aider ?
Merci d'avance
Paseg
 

Pièces jointes

Re : Répéter une boucle n fois

Bonjour Paseg 🙂,
Pas évident de suivre ton problème, vu que ton i et ton j ne servent à rien 😕...
Si j'ai compris ce que tu cherche, ce code contient tout ce dont tu as besoin. Fait un essai et dit nous.
Code:
Sub Test()
Dim I As Integer, J As Integer, PremL As Integer, DerL As Integer
With Sheets("Code")
For I = 1 To 3
PremL = .Range("A:A").Find("Cont " & I).Row
J = PremL
While .Cells(J, 1) <> ""
J = J + 1
Wend
DerL = J - 1
MsgBox "La zone s'étend de la ligne " & PremL & " à la ligne " & DerL
Next I
End With
End Sub
Bon WE 😎
 
Re : Répéter une boucle n fois

Bonjour JNP,
Merci de t'intéresser à mon cas.
Je me suis effectivement mal exprimé. Ma macro, telle qu'elle est rédigée fonctionne.
Elle trie d'abord en ordre croissant selon la colonne C puis selon la colonne F pour "Cont 1", puis elle passe à "Cont 2"...
mon "i" et mon "j" me semble utiles donc.

Seulement, quand il n'y a plus de "Cont" (de séries si on veut), elle s'arrête or, je souhaiterais que la cellule active redevienne "A1" à la fin de ces calculs.
Je change donc manuellement les integer selon le nombre de séries (c'est très variable, de 3 à 500), je pourrais le faire avec une Msg Box mais je pensais qu'il y avait certainement une procédure "universelle" qui ferait que :

lorsqu'il n'y a plus de séries à trier, la cellule A1 redevient active sans que j'ai besoin de changer les integer.

A me relire, je sens encore la confusion.
Si ce n'est toujours pas clair, je reviendrai.
Merci d'avance
Paseg
 
Re : Répéter une boucle n fois

Bonjour,
Pas sûr de comprendre vraiment
Code:
Sub Macro1()
dl = Range("A65000").End(xlUp).Row
x = 1
Do
    y = Range("A" & x).End(xlDown).Row
    Set plg = Range("A" & x & ":H" & y)
    plg.Sort Key1:=Range("C" & x), Order1:=xlAscending, Key2:=Range("F" & x) _
        , Order2:=xlAscending, Header:=xlYes
    x = y + 2
Loop Until x > dl

End Sub
A+
kjin
 
Re : Répéter une boucle n fois

Je change...

Je conserve ma macro même si elle n'est pas optimisée...

Sub Tri_Deuxième_Epreuve()

Range("A1").Select

Dim i As Long
For i = 1 To Range.["A65536"].End(xlUp).Row
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.Range("A1:H1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=ActiveCell.Offset(0, 2).Range("A1"), Order1:= _
xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Next i

End Sub

Je souhaiterai ajouter une condition :
- si la cellule active est remplie par une valeur quelconque alors on rentre dans la boucle
- si la cellule active est vide, on sort de la boucle, la cellule active devient A1

Merci pour vos éclaircissements
Paseg
 
Re : Répéter une boucle n fois

bonsoir paseg
salut JNP
Salut Kjin

Difficile de savoir ce tu souhaites
Teste:
Code:
Sub tri()
For n = 1 To Range("A65536").End(xlUp).Row
  If InStr(Range("A" & n), "Cont") <> 0 Then
    x = Range("A" & n).End(xlDown).Row
    Range("A" & n + 1 & ":H" & x).Sort Key1:=Range("C" & n + 1), Order1:= _
        xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlTopToBottom
  End If
Next n
End Sub
 
- 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
3
Affichages
115
Réponses
10
Affichages
444
Réponses
21
Affichages
913
Réponses
10
Affichages
799
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…