Bonjour,
Peu usager des fonctions personnalisées, voici mon problème :
Dans le tableau ci-dessous :
Montant..............Prévisions
-57.23................-85.85
1105.96............1658.94
-60.00.................-60.00
-37.00................-55.50
-61.67.................-61.67
-33.28.................-33.28

Initialement, chaque montant (police normale) est égal (par formule) à la prévision correspondante .
Lors des actualisations les montants réels sont saisis manuellement (ce qui écrase la formule)
Afin que les montants actualisés soient repérables au 1er coup d’œil,
j'ai voulu faire ressortir en Gras-Italique-Bleu les cellules où la formule a été remplacée par une constante.
Pour cela, j'ai créé une fonction personnalisée (dans module standard M1) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Function UneFormule(ici As Range)
    UneFormule = ici.HasFormula
End Function
et les cellules "Montants" sont affectées du format conditionnel :
Condition (par formule) : =UneFormule(A...)=FAUX
Format police : Gras-Italique-Bleu

Jusque là ça marche.

Problème :
J’ai créé le code suivant pour insérer une ligne en dessus d’une ligne sélectionnée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Sub InsertLigne()
    Selection.Insert Shift:=xlDown
End Sub
Le pb est que l’exécution s’arrête juste après l’insertion de la ligne (sans boucler).
En exécution pas à pas le surlignage qui repère le « pas » suivant disparaît.
Si je commande l’exécution du pas suivant (pour aller sur « End Sub »),
le code repart au début et insère une nouvelle ligne (et ainsi de suite).
Même après avoir réinitialisé, les exécutions d’autres codes dans d’autres fichiers sont bloquées ou perturbées.
En commande manuelle directe "Insertion" dans le fichier Excel, tout va bien.
Merci à celui qui verra ce qui "cloche" !