Appliquer une macro à une colonne

Charlène -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Ceci est une question de débutant ...
J'ai une macro que je n'arrive pas à appliquer à mes nouvelles cases créées dans la colonne concernée :
- problème de mise à jour ?
- problème de macro qui ne s'applique pas à une colonne complète ...

Voici le code :
Sub alerte()
Sheets("accompagnement_ind").Select
For i = 2 To 800
If Cells(16, 1).Value + 15 > Cells(i, 11).Value And Cells(i, 11).Value <> "" Then
Cells(i, 11).Interior.ColorIndex = 3
End If
Next i
End Sub

Si quelqu'un pouvait m'aider, je le remercie par avance !

2 réponses

  1. piopicolo Messages postés 1422 Statut Membre 200
     
    Vérifie la plage de "accompagnement_ind"

    A+
    0
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Personnellement, je ne le ferais pas par macro, mais par une Mise en Forme Conditionnelle.
    Si Excel<2007 :
    - Sélectionner la colonne K entière,
    - Format/Mise en forme conditionnelle
    - Choisir : "La formule est :" : =ET($K1<$A$16+15;$K1<>"")
    - Choisir le format souhaité
    - Valider

    Sinon par macro, je recommande de passer par des variables Integer ou Long :
    Sub alerte()  
    Dim i, derniereligne, valeur, CelluleEtudiee As Integer 
    With Sheets("accompagnement_ind")  
        valeur = CInt(.Cells(16, 1).Value) + 15 'transforme le contenu de A16 en "Nombre" et ajoute 15 
        derniereligne = .Cells(65236, 11).End(xlUp).Row 'stocke le numéro de la dernière ligne remplie de la colonne 11 (K) 
            For i = 2 To derniereligne 'amorce la boucle de la 2ème à la dernière ligne 
                CelluleEtudiee = CInt(.Cells(i, 11).Value) 
                    If valeur > CelluleEtudiee And CelluleEtudiee <> "" Then  
                        .Cells(i, 11).Interior.ColorIndex = 3  
                    End If  
            Next i  
    End With 
    End Sub  
    

    Cordialement,
    -- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
    0