Lancer une macro automatiquement lorsque la cellule affiche "100%"

OOLIVE

XLDnaute Occasionnel
Bonjour à tous,

Je cherche à mettre en place un traitement autonome des informations dans un fichier.

En effet, pour clôture un dossier, il faut que 7 tâches soient accomplies. Dès que l'ensemble des tâches sont accomplies, une formule en colonne I affiche "100%" à l'aide d'une formule excel très simple :
=NB.SI(B9:H9;"x")/(NB.VIDE(B9:H9)+NBVAL(B9:H9))

Est-il possible que, lorsque la valeur en cellule I affiche 100%, une macro s'exécute automatiquement pour traiter la ligne entière ?
Si oui, est-il possible d'appliquer ce code à l'ensemble des cellules en colonne I comprises dans la plage de données ?

Merci beaucoup pour votre aide.

Bien cordialement,

Olivier
 

chris

XLDnaute Barbatruc
Bonjour

Sauf à réagir à chaque calcul, ce qui est consommateur de ressources, on ne peut se baser sur la valeur prise par une cellule.

Il serait plus économique en terme de ressources de réagir au changement de valeurs des cellules B9 à H9 ou en l'occurence Bx:Hx
 

OOLIVE

XLDnaute Occasionnel
Bonjour Chris,

Merci pour ce retour.
Au début, je comptais procéder de cette manière, à dire :
Si l'ensemble des cellules B9:H9 est non vide, alors on exécute la macro.

Il me semblait plus pratique d'avoir cette notion en colonne I mais faut croire que non...
De quelle manière je pourrais procéder ?

Je te remercie encore pour tes conseils !

Olivier
 

chris

XLDnaute Barbatruc
Re

Nomme ta plage Bx:Hx, Plage par exemple et dans le module de la feuille concernée
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("Plage")) Is Nothing Then Exit Sub
    X = Range("Plage").Column + Range("Plage").Columns.Count
    If Cells(Target.Row, X) = 1 Then Call nommacro
End Sub

nommacro à adapter
 

Discussions similaires

Statistiques des forums

Discussions
312 354
Messages
2 087 545
Membres
103 584
dernier inscrit
Serka