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

Adriano43

XLDnaute Occasionnel
Bonjour le forum,

Je me permets d'ouvrir une nouvelle discussion car je suis entrain de programmer quelques macros... Mais pour l'une d'entre elles, bien qu'il n'y ait pas d'erreur lors de l'éxécution, le code n'effectue pas ce qu'il devrait faire, pourriez vous m'aider SVP?

voici le petit bout de code en question:
Code:
Public Sub prcforme()

    Dim i As Integer
    
    With Sheets("BDD")
        For i = Range("A5000").End(xlUp).Row To 2
            If Cells(i, 1).Interior.ColorIndex = 3 Then
            Select Case (Cells(i, 11).Value)
                Case Is = "7, 5"
                    Cells(i, 17).Interior.ColorIndex = 4
                Case Is = "15"
                    Cells(i, 17).Interior.ColorIndex = 6
                Case Is = "22, 5"
                    Cells(i, 17).Interior.ColorIndex = 3
            End Select
            End If
        Next i
    End With
End Sub

N'hésitez pas à me demander une PJ si besoin est

Cordialement

Adriano43
 
Re : Correction code

Bonjour Adriano, le forum,

comme ça, sans chercher bien loin, je dirais qu'il manque le step-1 à la fin de ton for i =

Comme tu lui fais démarrer du bas pour remonter, il faut lui dire de combien...

Après, il se peut que ce ne soit pas (que) ça ...

A+
Tibo

Edit: Bonjour Pierrot
 
Re : Correction code

Mais avant de la résoudre!!!, Comment accélérer cette macro qui met quelques secondes à s'éxécuter?
Et quelle est la manip à mettre en place pour qu'elle s'éxécute automatiquement au changement de valeur de la colonne K?

Cordialement

Adriano43
 
Re : Correction code

Re,

pour accélérer le code :
Code:
With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    .EnableEvents = False
'ton code
    .EnableEvents = True
    .Calculation = xlCalculationAutomatic
    .ScreenUpdating = True
End With

pour l'automatisation au changement d'une cellule, regarde du coté des procédures événementielles, de nombreux exemples sur le forum... mais là nous nous éloignons du sujet initial...
 
Re : Correction code

Re Pierrot93,

Le code est tout de même affreusement long à s'éxécuter alors que la matrice ne comporte que 200 lignes... et seulement 20 lignes en fond rouge, j'ai l'impression qu'elle s'applique à toutes les lignes comme si elle ne tiendrait pas compte de la condition fond rouge...😕
 
Re : Correction code

Re,

Oui voici le code dans son intégralité, mais je trouve cela bien long... mais c'est peut être normal
Code:
With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    .EnableEvents = False
    With Sheets("BDD")
     For i = Range("A5000").End(xlUp).Row To 2 Step -1
       If Cells(i, 1).Interior.ColorIndex = 3 Then
         Select Case (Cells(i, 11).Value)
           Case Is = "7,5"
             Cells(i, 17).Interior.ColorIndex = 4
           Case Is = "15"
             Cells(i, 17).Interior.ColorIndex = 6
           Case Is = "22,5"
             Cells(i, 17).Interior.ColorIndex = 3
           Case Is = ("")
             Cells(i, 17).Interior.ColorIndex = 0
           Case Is = ("0")
             Cells(i, 17).Interior.ColorIndex = 0
          End Select
        End If
      Next i
    End With
    .EnableEvents = True
    .Calculation = xlCalculationAutomatic
    .ScreenUpdating = True
    End With
 
- 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
5
Affichages
910
Réponses
15
Affichages
784
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
7
Affichages
367
Retour