MFC selon le format de la cellule
Résolu/Fermé
Ipalgo
Messages postés
51
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
11 février 2017
-
10 févr. 2017 à 22:21
Ipalgo Messages postés 51 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 11 février 2017 - 11 févr. 2017 à 23:38
Ipalgo Messages postés 51 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 11 février 2017 - 11 févr. 2017 à 23:38
A voir également:
- MFC selon le format de la cellule
- Format epub - Guide
- Telecharger format factory - Télécharger - Conversion & Codecs
- Format apfs - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
5 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
10 févr. 2017 à 23:03
10 févr. 2017 à 23:03
Bonjour,
Je ne pense pas qu'il existe un contrôle natif de cet ordre et donc il me semble qu'il te faut contrôler toute ta cellule par formule.
Je t'ai commencé la formule pour les 5 premiers caractères, à toi de continuer.
Saisi ta formule sur une cellule cela sera plus facile et ensuite tu la colles dans la MFC.
Je ne pense pas qu'il existe un contrôle natif de cet ordre et donc il me semble qu'il te faut contrôler toute ta cellule par formule.
Je t'ai commencé la formule pour les 5 premiers caractères, à toi de continuer.
=ET(A1<>"";NON(ET(ESTNUM(CNUM(STXT(A1;1;3)));STXT(A1;4;1)="°";NON(ESTERR(TROUVE(STXT(A1;5;1);"NSEW"))))))
Saisi ta formule sur une cellule cela sera plus facile et ensuite tu la colles dans la MFC.
Ipalgo
Messages postés
51
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
11 février 2017
11 févr. 2017 à 04:39
11 févr. 2017 à 04:39
Rappel du format : 000°? 00'00" - 00°? 00'00"
Aide n° position : 12345678901234567890123456
STXT -> permet d’extraire une chaîne de caractères d’une longueur donnée (cellule ; n° caractère de départ en partant de la gauche ; nombre de caractère(s) à prélever)
CNUM -> convertis en nombre une chaine de caractères
ESTNUM -> renvoie VRAI si c’est un numéro, FAUX autrement
ET -> détermine si toutes les conditions dans un test ont la valeur VRAI
NON -> permet d’inverser la valeur logique NON(VRAI)=FAUX
TROUVE -> renvoie la position de départ d’une chaîne de caractère
ESTERR -> renvoie VRAI si l’argument valeur fait référence à une valeur d’erreur, à l’exception de #N/A
Merci @gbinforme pour cette bonne piste.
Voici comment je pensais compléter pour faire ce que je recherche :
=ET(A1<>"";NON(ET(ESTNUM(CNUM(STXT(A1;1;3)));STXT(A1;4;1)="°";NON(ESTERR(TROUVE(STXT(A1;5;1);"NSEW")));ESTNUM(CNUM(STXT(A1;7;2)));STXT(A1;9;1)="’";ESTNUM(CNUM(STXT(A1;10;2)));STXT(A1;12;1)="”";STXT(A1;14;1)="-";ESTNUM(CNUM(STXT(A1;16;2)));STXT(A1;18;1)="°";NON(ESTERR(TROUVE(STXT(A1;19;1);"NSEW")));ESTNUM(CNUM(STXT(A1;21;2)));STXT(A1;23;1)="’";ESTNUM(CNUM(STXT(A1;24;2)));STXT(A1;26;1)="”")))
mais ça ne marche pas..
Modif n°1 avec correction des guillemets Word (minutes secondes) en guillemets Excel :
=ET(A1<>"";NON(ET(ESTNUM(CNUM(STXT(A1;1;3)));STXT(A1;4;1)="°";NON(ESTERR(TROUVE(STXT(A1;5;1);"NSEW")));ESTNUM(CNUM(STXT(A1;7;2)));STXT(A1;9;1)="'";ESTNUM(CNUM(STXT(A1;10;2)));STXT(A1;12;1)=""";STXT(A1;14;1)="-";ESTNUM(CNUM(STXT(A1;16;2)));STXT(A1;18;1)="°";NON(ESTERR(TROUVE(STXT(A1;19;1);"NSEW")));ESTNUM(CNUM(STXT(A1;21;2)));STXT(A1;23;1)="'";ESTNUM(CNUM(STXT(A1;24;2)));STXT(A1;26;1)=""")))
Toujours pas.. Hum..
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
11 févr. 2017 à 09:10
11 févr. 2017 à 09:10
Bonjour,
@Ipalgo : tu n'en étais pas bien loin mais il faut doubler les guillemets pour les tester. Ceci devrait fonctionner :
@Ipalgo : tu n'en étais pas bien loin mais il faut doubler les guillemets pour les tester. Ceci devrait fonctionner :
=ET(A1<>"";NON(ET(ESTNUM(CNUM(STXT(A1;1;3)));STXT(A1;4;1)="°";NON(ESTERR(TROUVE(STXT(A1;5;1);"NSEW")));STXT(A1;6;1)=" ";ESTNUM(CNUM(STXT(A1;7;2)));STXT(A1;9;1)="'";ESTNUM(CNUM(STXT(A1;10;2)));STXT(A1;12;1)="""";STXT(A1;13;3)=" - ";ESTNUM(CNUM(STXT(A1;16;2)));STXT(A1;18;1)="°";NON(ESTERR(TROUVE(STXT(A1;19;1);"NSEW")));STXT(A1;20;1)=" ";ESTNUM(CNUM(STXT(A1;21;2)));STXT(A1;23;1)="'";ESTNUM(CNUM(STXT(A1;24;2)));STXT(A1;26;1)="""")))
Ipalgo
Messages postés
51
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
11 février 2017
11 févr. 2017 à 06:10
11 févr. 2017 à 06:10
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
Modifié par Vaucluse le 11/02/2017 à 08:58
Modifié par Vaucluse le 11/02/2017 à 08:58
Bonjour
et salut GB
peut être un peu plus simple, mais de toutes façons, c'est assez longuet
1°) pour alléger un peu entrez dans une cellule le type tel qu'il est écrit dans votre 1° message
soit pour l'exemple en H1:
000°? 00'00" - 00°? 00'00
la formule de MFC:
=$H$1<>SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;1;"0");2;"0");3;"0");4;"0");5;"0");6;"0");7;"0");8;"0");9;"0");"N";"?");"E";"?");"S";"?");"O";"?")
(avec les 0 entre guillemets)
si vous ne voulez pas entrer en H1 remplacer le dans la formule par:
"000°? 00'00" - 00°? 00'00"<>SUBSTITUE(.....)
crdlmnt
Ps: voila ce que ça donne avec quelques exemples de A1 à A10
https://mon-partage.fr/f/KMXRFnVL/
La qualité de la réponse dépend surtout de la clarté de la question, merci!
et salut GB
peut être un peu plus simple, mais de toutes façons, c'est assez longuet
1°) pour alléger un peu entrez dans une cellule le type tel qu'il est écrit dans votre 1° message
soit pour l'exemple en H1:
000°? 00'00" - 00°? 00'00
la formule de MFC:
=$H$1<>SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;1;"0");2;"0");3;"0");4;"0");5;"0");6;"0");7;"0");8;"0");9;"0");"N";"?");"E";"?");"S";"?");"O";"?")
(avec les 0 entre guillemets)
si vous ne voulez pas entrer en H1 remplacer le dans la formule par:
"000°? 00'00" - 00°? 00'00"<>SUBSTITUE(.....)
crdlmnt
Ps: voila ce que ça donne avec quelques exemples de A1 à A10
https://mon-partage.fr/f/KMXRFnVL/
La qualité de la réponse dépend surtout de la clarté de la question, merci!
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
11 févr. 2017 à 09:30
11 févr. 2017 à 09:30
Salut Vaucluse,
Ton idée est originale effectivement
- il te manque le test cellule vide.
- il faut doubler les guillemets à tester
Ton idée est originale effectivement
- il te manque le test cellule vide.
- il faut doubler les guillemets à tester
=ET(A1<>"";"000°? 00'00"" - 00°? 00'00"""<>SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE (SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE (SUBSTITUE(SUBSTITUE(A1;1;"0");2;"0");3;"0");4;"0");5;"0");6 ;"0");7;"0");8;"0");9;"0");"N";"?");"E";"?");"S";"?");"O";"?"))
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
>
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
Modifié par Vaucluse le 11/02/2017 à 10:04
Modifié par Vaucluse le 11/02/2017 à 10:04
Vi, gb, j'avais pensé qu'on pouvait supporter la MFC sur les cellules vides, mais effectivement c'est plus propre comme ça.
par contre es-tu sur de ton ET ou faudrait il plutôt utiliser OU?
Parce que A1 va avoir du mal à répondre aux deux conditions à la fois
Bien cordialement
par contre es-tu sur de ton ET ou faudrait il plutôt utiliser OU?
Parce que A1 va avoir du mal à répondre aux deux conditions à la fois
Bien cordialement
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
>
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
11 févr. 2017 à 11:59
11 févr. 2017 à 11:59
et oui pour être en rouge il faut qu'il soit différent d'espace et différent du masque et tu penses bien que j'avais testé !
Si tu mets OU tout sera rouge ;-)
Si tu mets OU tout sera rouge ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ipalgo
Messages postés
51
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
11 février 2017
11 févr. 2017 à 23:38
11 févr. 2017 à 23:38
[Résolu]
MERCI à vous deux pour la solution.
Tout fonctionne parfaitement !
J'ai aussi besoin que la cellule soit coloriée en rouge si elle est vide alors j'ai enlevé le premier test :
A1<>"";
et c'est OK.
Bonne soirée, et merci à CCM aussi.
MERCI à vous deux pour la solution.
Tout fonctionne parfaitement !
J'ai aussi besoin que la cellule soit coloriée en rouge si elle est vide alors j'ai enlevé le premier test :
A1<>"";
et c'est OK.
Bonne soirée, et merci à CCM aussi.