Appliquer formule sur toute une colonne : Erreur d'exécution (VBA)

Bonjour,

Je souhaite ajouter automatique la date dans la colonne A de mon fichier lorsque l'utilisateur remplis les cellules de la colonne B.

J'ai cette procédure, qui est stocké dans un module et qui est appelé dans le Worksheet_change de mon classeur :

Sub formule1()

date_test = Now()
For i = 5 To 20 's'appliqueras de la ligne 5 à 20 :

If Cells(i, 2).Value <> "" Then
Cells(i, 1).Value = Format(date_test, "[$-40C]d-mmm;@")

Else
Cells(i, 1).Value = ""

End If

Next
End Sub

Toutefois, lorsque je remplis la colonne B, la date est bien ajoutée mais j'ai ces deux messages d'erreur qui apparaissent. Le dernier rend inutilisable mon fichier ...

200108112703771232
200108112703875649

Je me permets donc de solliciter votre aide, vous trouverez mon fichier test ici :

Merci d'avance

Horusbk

Bonjour,

Votre macro s'appelle à l'infini, ce qui génère nécessairement une erreur ! Je m'explique : une modification sur la plage, lance la macro qui vient elle-même apporter des modifications sur la plage, et se relance donc...

Propositions :

- Désactiver puis réactiver les procédures évenement le temps des modifications avec :

Application.EnableEvents = False 'désactive les événements
'Instruction(s)
Application.EnableEvents = True 'réactive les événements

- Grouper les actions sur la plage directement dans la macro Worksheet_change, et seulement sur la ligne concernée (à moins qu'il y ai un intérêt à modifier chaque fois les 15 lignes)

Bonjour Pedro22,

Je comprends mieux le message d'erreur du coup... le logiciel n'avait pas suffisamment de mémoire pour calculer cette formule à l'infini Avec les Application.EnableEvents ça fonctionne beaucoup mieux effectivement !

J'ai aussi ajouté ce code pour délimiter la zone d'action de Worksheet_Change. De plus, j'ai groupé toutes les actions comme tu me l'indiquais.

If Not Application.Intersect(Target, Range("A5:B20")) Is Nothing Then

Merci beaucoup ! Je passe le sujet en résolu.

Horusbk

Merci du retour, et bon courage pour la suite !

Rechercher des sujets similaires à "appliquer formule toute colonne erreur execution vba"