XL 2016 Offset avec step variable

Atoto

XLDnaute Nouveau
Bonjour le forum
Merci de m'aider à trouver une solution à mon problème.
Je veux colorer mes colonnes suivant les champs qui se trouvent dans la ligne 3,
j'ai mis dans mon code un offset avec un step 5.
cela fonctionne parfaitement mais quand j'ai inséré des colonnes en ("U" - "AK" et "BA" ) ça change entre colonnes "P" et "V" le step devient 6.
J'attends votre aide.
Cordialement.
 

Pièces jointes

  • Essai Atoto.xlsx
    12.5 KB · Affichages: 18
Solution
Bonsoir,
Le fichier marche correctement;
Le problème c'est qu'il s'arrête lorsqu'il trouve le dernier Dr.
Il faut la cellule BC3 contienne Dr de façon qu'il traite le dernier Dr utile ( en AW3)

Dans la nouvelle PJ je fais la sortie après le traitement. Ca traite donc le dernier Dr.

Atoto

XLDnaute Nouveau
Bonjour Atoto, Patrick,
Ensuite si c'est pour comprendre l'erreur qu'il y a dans votre code, il faut fournir une PJ.. avec du code.
Bonjour
Merci de votre aide

Ce code est fait pour plusieurs onglets.

j'ai créé un module pour les colonnes du champ "DR" et un autre pour les colonnes du champ "NL".

Sub colorer_Dr()
Dim onglet As Worksheet
Dim derniere_ligne As Long
Dim ligne_en_cours As Long
Dim Seuil As Variant
Dim Classe As Long
Dim s&
Dim n As Byte
For s = 4 To Sheets.Count
Set onglet = Worksheets(s)
derniere_ligne = onglet.Cells(Rows.Count, 7).End(xlUp).Row
For ligne_en_cours = 3 To derniere_ligne
For n = 0 To 45 Step 5
Seuil = onglet.Cells(ligne_en_cours, 7).Offset(0, n).Value
Classe = onglet.Cells(ligne_en_cours, 5).Value
Application.ScreenUpdating = False
If Seuil = "" Then

onglet.Cells(ligne_en_cours, 7).Offset(0, n).Interior.ColorIndex = -4142
ElseIf Classe = 2 And Seuil >= 1.2 Then
onglet.Cells(ligne_en_cours, 7).Offset(0, n).Interior.ColorIndex = 22
ElseIf Classe = 2 And Seuil <= 1 Then
onglet.Cells(ligne_en_cours, 7).Offset(0, n).Interior.ColorIndex = 35
Else
onglet.Cells(ligne_en_cours, 7).Offset(0, n).Interior.ColorIndex = 36

If Classe = 3 And Seuil >= 1.5 Then
onglet.Cells(ligne_en_cours, 7).Offset(0, n).Interior.ColorIndex = 22
ElseIf Classe = 3 And Seuil <= 1.2 Then
onglet.Cells(ligne_en_cours, 7).Offset(0, n).Interior.ColorIndex = 35
Else
onglet.Cells(ligne_en_cours, 7).Offset(0, n).Interior.ColorIndex = 36


If Classe = 4 And Seuil >= 1.8 Then
onglet.Cells(ligne_en_cours, 7).Offset(0, n).Interior.ColorIndex = 22
ElseIf Classe = 4 And Seuil <= 1.5 Then
onglet.Cells(ligne_en_cours, 7).Offset(0, n).Interior.ColorIndex = 35
Else
onglet.Cells(ligne_en_cours, 7).Offset(0, n).Interior.ColorIndex = 36

End If
End If
End If
Next
Next
Next
End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Atoto,Patrick, Mapomme,
Just for the fun, avec la macro originale.
C'est un exercice de style.
il faut rendre le Step de la boucle dynamique, sauf qu'un Step ne peut être que statique.
( non, non, non pas de Goto )
D'où le recours à un While, et la recherche du Dr suivant avec un Match.
 

Pièces jointes

  • Essai Atoto (1).xlsm
    25.6 KB · Affichages: 8

Atoto

XLDnaute Nouveau
Bonsoir Sylvanu
J'ai pas fait attention aux dernières colonnes de mon tableau le code s’arrête à la colonne "44" les colonnes "48" et "49" ne sont pas colorées.
merci de revoir le code je suis planté et merci bcp de ton aide.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
Le fichier marche correctement;
Le problème c'est qu'il s'arrête lorsqu'il trouve le dernier Dr.
Il faut la cellule BC3 contienne Dr de façon qu'il traite le dernier Dr utile ( en AW3)

Dans la nouvelle PJ je fais la sortie après le traitement. Ca traite donc le dernier Dr.
 

Pièces jointes

  • Essai Atoto (1) (4).xlsm
    25.8 KB · Affichages: 2
Dernière édition:

Atoto

XLDnaute Nouveau
Bonsoir Sylvanu
Merci infiniment j'arrive à résoudre le problème j'ai rempli les Cellules "BC" et "BD" par un NL et Dr est ça marche très bien.
Les mots me manquent vraiment pour vous remercier pour votre savoir que vous étaler gratuitement.
 

Discussions similaires

Statistiques des forums

Discussions
312 287
Messages
2 086 827
Membres
103 397
dernier inscrit
Kilement