Formule "Si une Cellule ne contient pas un nombre alors ..."

  • Initiateur de la discussion Initiateur de la discussion Spacepak
  • Date de début Date de début

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 !

Spacepak

XLDnaute Junior
Bonjour,

Voici mon problème :
je dispose d'un tableau de 2 colonnes, dans une 3 ème colonne j'aimerai afficher les valeurs de la 2 ème si celles ci sont des nombres sinon la valeur correspondante de la 1 ere colonne .

Je vous envoie un exemple en pièce jointe. (en rouge ce qu'on doit obtenir)

Quelqu'un peut-il m'aider à trouver une formule Excel (sans passer par VBA) ?

Je vous remercie par avance!
 

Pièces jointes

Bonjour Lyott02, JHA,

bienvenue sur le site XLD ! 🙂

note que "Feuil2" est vide ; va sur "Feuil1", et fais Ctrl e ➯ travail effectué ! 😊

pour info : ta cellule C29 est sur fond blanc et pas avec "Aucune couleur" ; c'est pour ça que dans la macro, je teste le ColorIndex 2 (blanc) en plus du -4142 (xlNone) ; pour faire ton exo, le test des couleurs de remplissage est plus adéquat que l'évitement des valeurs ayant un "/", d'autant plus que ça permet d'éviter par exemple le "Chia 15Q: 090-100" de C11 et le "14:" de C15. 😁 😜

VB:
Sub NomsFruits()
  If ActiveSheet.Name <> "Feuil1" Then Exit Sub
  Dim cel As Range, col As Byte, dlg&, lg1&, lg2&, cf&
  Application.ScreenUpdating = 0
  With Worksheets("Feuil2")
    .Columns(1).ClearContents: .[A1] = "Fruits": lg2 = 2
    For col = 1 To 3
      dlg = Cells(Rows.Count, col).End(3).Row
      For lg1 = 2 To dlg
        Set cel = Cells(lg1, col): cf = cel.Interior.ColorIndex
        If cf <> -4142 And cf <> 2 Then
          .Cells(lg2, 1) = cel: lg2 = lg2 + 1
        End If
      Next lg1
    Next col
    .Select
  End With
End Sub

si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis. 😉

soan
 

Pièces jointes

Dernière édition:
Bonjour, je déterre ce post pour une question "à peu près pareil mais pas tout à fait"...

J'ai, en BQ5, une formule qui m'arrondi, au multiple de 5 près, le nombre contenu en AT5.
ça, c'est bon, ça marche.
Ce que je voudrais, c'est que si, en AT5, ce N'EST PAS un nombre, ça ne m'affiche rien.

Je pars de "=ARRONDI.AU.MULTIPLE(AT5;5)", j'ai beau tordre si(estnum(at5...) dans tous les sens, ça me renvoie "rien", alors que JUSTEMENT, y'a un nombre...
#help???
Steph
 
Bonjour Steph@ne, ALS35,

Il est possible que Steph@ne utilise bien la formule indiquée par ALS35.

Mais si les zéros sont masqués la cellule BQ5 est nulle donc n'affiche rien si AT5 est comprise entre 0 et 2,4999999999999

Si AT5 est négative =ARRONDI.AU.MULTIPLE(AT5;5) renvoie une valeur d'erreur donc BQ5 affiche le texte vide "".

A+
 
- 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

Discussions similaires

Réponses
3
Affichages
87
Retour