Changer de colonne après des boucles while

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

Diyann

XLDnaute Nouveau
Bonjour à tous,

Alors voilà, j'ai un petit souci.
Une suite boucles While inscrit un certain nombre de valeurs dans une colonne.
Dans mes boucles, le test logique fait référence à un jeu de 3 valeurs seuils fixées (5,50 et 75) dans le code.

Cette suite de boucles While est elle-même incluse dans une boucle For qui me permet de répéter l'opération 5 fois en décalant de 10 colonnes vers la droite.

Seulement voilà, j'aimerais que mes 3 valeurs seuils changent à chaque fois que la boucle For est incrémentée de 1.
Les coordonnées en lignes des valeurs seuils sont fixées (lignes 16,17 et 18) : il faut juste que quand il incrémente de 1 la boucle for, il incrémente de 10 colonnes quand il effectue les tests logique des boucles While.

Le code pour plus de clarté :
Sub Macro1()

Sheets("paramètres_Végét").Select
Range("I21").Select

For compteur6 = 1 To 5


While ActiveCell.Value < 5
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "Hiver"
ActiveCell.Offset(1, -1).Select
Wend
While ActiveCell.Value < 75
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "dP"
ActiveCell.Offset(1, -1).Select
Wend
While ActiveCell.Value > 75
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "P"
ActiveCell.Offset(1, -1).Select
Wend
While ActiveCell.Value < 50
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "ete"
ActiveCell.Offset(1, -1).Select
Wend
While ActiveCell.Value > 50
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "A"
ActiveCell.Offset(1, -1).Select
Wend
While ActiveCell.Value > 5
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "f A"
ActiveCell.Offset(1, -1).Select
Wend
While ActiveCell.Value <> ""
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "Hiver"
ActiveCell.Offset(1, -1).Select
Wend

ActiveCell.Offset(-36, 10).Select


Next compteur6

Range("I21").Select

End Sub

Le fichier passe pas, même zippé

Comment faire ?

Merci !!!!
 
Re : Changer de colonne après des boucles while

Résolu toute seule...
Désolée pour ce mail intempestif, je suis un peu "essorée" :

Sub Macro1()

Sheets("paramètres_Végét").Select

' On se place automatiquement sur le premier taux de croissance qui permettra d'initialiser les boucles
Range("I21").Select

'On déclare les variables qui vont accueuillir les seuils successifs permettant le changement de saison
Dim a As Byte
Dim b As Byte
Dim c As Byte

For compteur6 = 1 To 5

'Les seuils varient en fonction de la ressource considérée
'On part du fait qu'on connaît la cellule active pour indiquer où se situent les seuils relativement à cette cellule


a = ActiveCell.Offset(-5, -3).Value
b = ActiveCell.Offset(-4, -3).Value
c = ActiveCell.Offset(-3, -3).Value

'Ensuite on boucle avec les While

While ActiveCell.Value < a
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "Hiver"
ActiveCell.Offset(1, -1).Select
Wend
While ActiveCell.Value < c
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "dP"
ActiveCell.Offset(1, -1).Select
Wend
While ActiveCell.Value > c
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "P"
ActiveCell.Offset(1, -1).Select
Wend
While ActiveCell.Value < b
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "ete"
ActiveCell.Offset(1, -1).Select
Wend
While ActiveCell.Value > b
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "A"
ActiveCell.Offset(1, -1).Select
Wend
While ActiveCell.Value > a
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "f A"
ActiveCell.Offset(1, -1).Select
Wend
While ActiveCell.Value <> ""
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "Hiver"
ActiveCell.Offset(1, -1).Select
Wend

ActiveCell.Offset(-36, 10).Select


Next compteur6

'On remet la cellule active au début de la page, sinon, elle se retrouve à perpèt'
Range("I21").Select

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

  • Question Question
XL pour MAC boucle couleur
Réponses
25
Affichages
1 K
Retour