Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Merci de cette réponse plus que rapide.
Voici le fichier "épuré".
L'onglet en question est "formule".
L'objectif est de récupéré exactement le même tableau en lieu et place de l'original, mais avec l'ajout à chacune des formules la mention sierreur(xxxxx;"").
Bonjour JCGL, et merci de ta participation !
Maitrisant mal les mises en formes conditionnelles, je n'ai pas réussi à appliquer ton conseil...
Peux-tu me guider ?
Cordialement,
Dans le ruban et sur l'onglet Accueil.
Mise en Forme Conditionnelle
Gérer les règles
Nouvelle règle
Dans le types : Utiliser une formule
Poser la formule : =ESTERREUR(A2)
Couleur de police : Blanc
S'applique à : =$A$2:$O$100
OK
Merci JCGL, c'était pourtant simple...
Toutefois, la dernière ligne reste en noir...
Ceci me convient visuellement, mais n'existe-t'il pas une méthode autre (sans jouer sur les couleurs)? D'une façon générale, ne peut-on pas copier le "texte" d'une formule d'une cellule dans une autre cellule (en vu de "concaténation")?
La piste de néné06 me paraissait également intéressante, mais je n'arrive pas à "creuser".
Ou insérer une macro dans le "code de la page" qui renvoit un affichage vide si erreur ?
Cordialement à tous, merci encore de l'attention portée...
Sub SiErreurFormule()
Dim xcell, myRG As Range
On Error GoTo SiErreurFormule_err_01
Set myRG = Application.InputBox(prompt:="Sélectionner la zone à traiter :", Type:=8)
On Error GoTo 0
For Each xcell In myRG
If xcell.HasFormula And Left(xcell.Formula, 9) <> "=IFERROR(" Then
xcell.Formula = "=iferror(" & Right(xcell.Formula, Len(xcell.Formula) - 1) & ","""")"
End If
Next xcell
SiErreurFormule_err_01:
End Sub
Le fin du fin serait que cette macro s'exécute automatiquement lors de la "sélection de l'onglet" (code de page?), et que la zone soit $A:$Q (sans avoir à saisir une inputBox).
J'en demande peut-être beaucoup...
Cordialement...
Collez le code suivant dans le module de feuille correspondant à votre feuille 'Formule'.
Code:
Private Sub Worksheet_Activate()
Dim xcell, myRG As Range
On Error GoTo PasDerreur
Set myRG = Range("A:Q").SpecialCells(xlCellTypeFormulas, 16)
On Error GoTo 0
For Each xcell In myRG
If xcell.HasFormula And Left(xcell.Formula, 9) <> "=IFERROR(" Then
xcell.Formula = "=iferror(" & Right(xcell.Formula, Len(xcell.Formula) - 1) & ","""")"
End If
Next xcell
PasDerreur:
End Sub
Edit: modifié code pour ne prendre en compte que les cellules des colonnes A à Q.
- 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