Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonctions Val et Replace

  • Initiateur de la discussion Initiateur de la discussion Pino12
  • 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 !

P

Pino12

Guest
Bonjour,

Afin de mieux comprendre les mécanismes d'une macro je cherche les équivalents en formule excel des formules Vba "Val" et "Replace", si de tels équivalents existent. Pouvez-vous m'aider ?

Merci d'avance,
 
Re : Fonctions Val et Replace

Bonjour,

Si je dis pas de bêtise

en B1 =CNUM(A1) ==> pour val(A1) (en A1 j'y ai inscris '25) et
en B2 =SUBSTITUE(A2;"is";"c'est") (dans A2 j'y ai inscris "coucou is moi")

John
 
Re : Fonctions Val et Replace

Bonjour Pino12, john,

D'accord avec john pour l'équivalent de Replace.

Mais pas du tout pour l'équivalent de Val, c'est beaucoup plus compliqué.

Pour cela on peut utiliser cette formule matricielle, validée par Ctrl+Maj+Entrée :

Code:
=--GAUCHE(0&A1;EQUIV(1;(STXT(0&A1&" ";LIGNE(INDIRECT("1:"&NBCAR(0&A1&" ")));1)<>STXT(1/10;2;1))*((STXT(0&A1&" ";LIGNE(INDIRECT("1:"&NBCAR(0&A1&" ")));1)<"0")+(STXT(0&A1&" ";LIGNE(INDIRECT("1:"&NBCAR(0&A1&" ")));1)>"9"));0)-1)
Elle fonctionne quel que soit le séparateur décimal de l'ordi.

A+
 
Re : Fonctions Val et Replace

Re,

Fichier joint avec cette formule qui fonctionne aussi sur les nombres négatifs :

Code:
=SI(GAUCHE(A1)="-";-GAUCHE(DROITE(A1;NBCAR(A1)-1)&" ";EQUIV(1;(STXT(DROITE(A1;NBCAR(A1)-1)&" ";LIGNE(INDIRECT("1:"&NBCAR(A1)));1)<>STXT(1/10;2;1))*((STXT(DROITE(A1;NBCAR(A1)-1)&" ";LIGNE(INDIRECT("1:"&NBCAR(A1)));1)<"0")+(STXT(DROITE(A1;NBCAR(A1)-1)&" ";LIGNE(INDIRECT("1:"&NBCAR(A1)));1)>"9"));0)-1);--GAUCHE(0&A1;EQUIV(1;(STXT(0&A1&" ";LIGNE(INDIRECT("1:"&NBCAR(A1)+2));1)<>STXT(1/10;2;1))*((STXT(0&A1&" ";LIGNE(INDIRECT("1:"&NBCAR(A1)+2));1)<"0")+(STXT(0&A1&" ";LIGNE(INDIRECT("1:"&NBCAR(A1)+2));1)>"9"));0)-1))
A+
 

Pièces jointes

Dernière édition:
Re : Fonctions Val et Replace

Bonsoir à tous 🙂,

Un essai avec une autre formule matricielle:
Code:
=SIERREUR(0+GAUCHE(A1;-PETITE.VALEUR(SI(ESTNUM((0+STXT(A1;1;LIGNE(INDIRECT("1:" & NBCAR(A1))))));-LIGNE(INDIRECT("1:" & NBCAR(A1))));1));"")

 

Pièces jointes

Re : Fonctions Val et Replace

Bonsoir mapomme,

Ah oui, bravo, c'est beaucoup plus simple.

Alors perso j'utiliserai plutôt :

Code:
=SIERREUR(--GAUCHE(A13;MAX(ESTNUM((-STXT(A13;1;LIGNE(INDIRECT("1:" & NBCAR(A13))))))*LIGNE(INDIRECT("1:" & NBCAR(A13)))));0)
encore plus simple, et qui colle mieux à la fonction Val.

A+
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
262
Réponses
20
Affichages
281
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…