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 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));"")

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

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
289
Retour