Fonctions Val et Replace

Pino12

XLDnaute Junior
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,
 

job75

XLDnaute Barbatruc
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+
 

job75

XLDnaute Barbatruc
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

  • Equivalent Val(1).xlsx
    9.9 KB · Affichages: 24
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
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));"")

Formule matricielle: Elle doit être validée par la combinaison des touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée comme une formule classique.
Si la validation matricielle est correcte, alors Excel entoure la formule d'accolades {=.......}.
Chaque fois que cette formule sera modifiée, la validation devra se faire par Ctrl+Maj+Entrée. Les accolades apparaissent à la validation et ne doivent pas être saisies au clavier.
 

Pièces jointes

  • Pino12-equivalent de VAL en formule v1.xlsx
    9.9 KB · Affichages: 20

job75

XLDnaute Barbatruc
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:

Discussions similaires

Réponses
4
Affichages
173

Statistiques des forums

Discussions
312 344
Messages
2 087 448
Membres
103 546
dernier inscrit
mohamed tano