Gauche La concaténation de chaînes se fait avec l'opérateur
&. En C1 , la formule =A1&B1 fait On reconstitue l'adresse email à partir du prénom et du nom. La formule =SI($B$1>D6;"Retard:" &$B$1-D6
& "jours";"") affiche Retard lorsque
la date du jour Les commandes Copier et Collage Spécial/Valeur permettent d’éliminer la formule. GAUCHE (chaîne;nombre)Donne les caractères de gauche d'une chaîne. En B1,la formule =GAUCHE(A1;2) fait apparaître 78 DROITE (chaîne;nombre)Donne les caractères de droite d'une chaîne. =DROITE(A1;2) donne 78 STXT (chaîne;début;nombre)Donne les caractères du milieu d'une chaîne. NBCAR (chaîne)Donne le nombre de caractères d'une chaîne. TEXTE(nombre;format_texte)Convertit une un nombre en texte. =TEXTE(123;"0,00 Francs") donne 123,00 Francs CNUM(chaîne)Convertit une chaîne en nombre. MAJUSCULE (chaîne)Convertit une chaîne en majuscules. NOMPROPRE (chaîne)Convertit la première lettre en majuscule et les autres en minuscules. =NOMPROPRE("CEUZIN") donne Ceuzin CAR(code)Retourne le caractère associé au code spécifié. =CAR(65) donne A CODE(caractère)Donne le code d'un caractère. =CODE("A") donne 65 REPT(chaîne;nombre)Répète une chaîne. =REPT("A";4) donne AAAA REMPLACER(chaîne;début;nombre;nouvelle_chaîne)Remplace dans une chaîne à partir de début le nombre de caractères spécifié par nouvelle chaîne. =REMPLACER("ABCDEF";2;3;"XYZ") donne AXYZEF SUBSTITUE(chaîne;ancienne_chaîne;nouvelle_chaîne;position)Remplace ancienne_chaîne par nouvelle_chaîne. Si position est spécifié, seul le texte à la position indiquée est remplacé. =SUBSTITUE("Dupont";"p";"xy") donne Duxyont =SUBSTITUE("ABC ABC";"B";"X";2) donne ABC AXC Nombre de virgules =NBCAR(A1)-NBCAR(SUBSTITUE(A1;",";"")) donne 3 Position de la 3e virgule A1 contient aaa,bbbbb,ccc,ddd: On veut la position de la 3e virgule =CHERCHE("|";SUBSTITUE(A1;",";"|";3)) Chaîne après le dernier \ A1 contient Opérations\Anomalie horaire LIN\Retard. On veut récupérer la chaine après le dernier \ (retard) =STXT(A1;CHERCHE("|";SUBSTITUE(A1;"\";"|";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"\";""))))+1;999) ou =DROITE(A1;EQUIV("\";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0)) Extraction des items d'une chaîneChaîne en A1: aaa bbb ccc dddd eeee ffff Position des espaces dans la chaîne
Premier item
(aaa): Deuxième item (bbb): Troisième item (ccc): Dernier item (ffff): ou =DROITE(A1;EQUIV(" ";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0)) Avant dernier item (eeee): Avant avant dernier item (dddd): Autre exemple Pour découper Chat,chien,oiseau,poule,tigre dans plusieurs cellules En B1: =GAUCHE($A$1;TROUVE(",";$A$1)-1) En B2: Extraction des chaînes de chaine1\chaine2\chaine3\chaine4Chaîne avant le dernier \ ou =GAUCHE(A1;NBCAR(A1)-EQUIV("\";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0)-1) Chaîne après le dernier \ ou =DROITE(A1;EQUIV("\";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0)) CHERCHE (chaîne_cherchée;chaîne;début)Donne la position d'une sous_chaîne dans une chaîne à partir de début. Majuscules/Minuscules sont confondues. =CHERCHE("n";"Dupont") donne 5 =CHERCHE("p?n";"Dupant") -->3 TROUVE(chaîne_cherchée;chaîne;début)Donne la position d'une sous_chaîne dans une chaîne à partir de début. Majuscules/Minuscules ne sont pas confondues. =TROUVE("p";"Dupont") donne 3 Pour extraire la chaîne bbb entre parenthèses de aaaaa(bbb)ccc en A1 =STXT(GAUCHE(A1;TROUVE(")";A1)-1);TROUVE("(";GAUCHE(A1;TROUVE(")";A1)-1))+1;999) EXACT(chaîne1;chaîne2) Donne VRAI si chaine1=chaine2. Tester si la chaîne en B2 est en majuscule =SI(EXACT(MAJUSCULE(B2);B2);"Majusc";"Non") Fomules matricielles sur les chaînesRecherche par la droite dans une chaîne de caractèresOn recherche la position du dernier caractère ','
pour récupérer la dernière partie 37.35 =DROITE(A1;EQUIV(",";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0)) ou On veut récupérer la dernière partie (Ecran standard)A1: /Informatique/Périphériques de sortie/Moniteur/Ecran standard =DROITE(A1;EQUIV("/";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0)) A1: /Informatique/Périphériques de sortie/Moniteur/Ecran standard/ =SUBSTITUE(DROITE(A1;EQUIV("/";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0));"/";"") ou =SUBSTITUE(STXT(A1;CHERCHE("|";SUBSTITUE(A1;"/";"|";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"/";""))-1))+1;99);"/";"") On veut récupérer 8,741.59H 0000000190364654 Internal Message JEAN JEAN 8,741.59
Settled =DROITE(SUBSTITUE(A1;" Settled";"");EQUIV("
";STXT(SUBSTITUE(A1;" Settled";""); On veut la dernière date de C2 si B2 est barré=SI(NON(estbarré(B2));"";SI(ESTERREUR(CHERCHE(",";C2));C2;DROITE(C2;EQUIV(","; Dans un module (Alt+F11 puis Insertion/Module) Function EstBarré(c) Récupération du nom et du prénom=GAUCHE(A4;EQUIV(VRAI;EXACT(STXT(A4;LIGNE($1:$255);3);MAJUSCULE(STXT(A4;LIGNE($1:$255);3)));0)) =STXT(A4;EQUIV(VRAI;EXACT(STXT(A4;LIGNE($1:$255);3);MAJUSCULE(STXT(A4;LIGNE($1:$255);3)));0)+1;999) Si les noms et prénoms sont dans un ordre quelconque En B7:=SI(CODE(STXT(A7;2;1))>=97; En C7:=SI(CODE(STXT(A7;2;1))>=97; Mise en ordre nom/prénomDans la liste originale, les noms/prénoms sont dans un ordre quelconque. En B7:=SI(CODE(STXT(A7;2;1))>=97;A7; En C7:=SI(CODE(STXT(A7;2;1))>=97; Découpage d'une adresseEn A1: 28 rue du grand Faubourg 33015 La Rochelle Découpe
adresse Rue Code postal Ville En VBA: Function CodePostal(chaine) Function Rue(chaine) Function Ville(chaine) Donne la partie numérique d'une chaîne (1 seule occurrence)A1 contient Tph 0130556677
France A1 contient Total de Toto : 256.25 xxx. Pour obtenir 256.25 =STXT(A1;EQUIV(VRAI;ESTNUM(CNUM(STXT(A1;LIGNE($1:$255);1)));0); =CNUM(SUBSTITUE(STXT(A1;EQUIV(VRAI;ESTNUM(CNUM(STXT(A1;LIGNE($1:$255);1)));0); A1 contient MR DANIEL 1210 DUPOND =STXT(A1;EQUIV(VRAI;ESTNUM(CNUM(STXT(A1;LIGNE($1:$255);1)));0);4) Transformation rue=STXT(A1;EQUIV(FAUX;ESTERREUR(TROUVE(STXT(A1;LIGNE($1:$255);1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ"));0);999)&"("&GAUCHE(A1;EQUIV(FAUX;ESTERREUR(TROUVE(STXT(A1;LIGNE($1:$255);1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ"));0)-1)&")" Nombre de majuscules en A1=SOMMEPROD(((CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>=65)*(CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))<=96))) Elimine le numérique en début de chaîne=SUPPRESPACE(STXT(A1;EQUIV(FAUX;ESTNUM(--(STXT(A1;LIGNE($1:$255);1)));0);999)) Caractères invalidesOn veut connaître le nombre de caractères invalides en B2 =SOMMEPROD(--(ESTERREUR(CHERCHE(STXT(B2;LIGNE($1:$255);1);A2)))) Séparation numérique=GAUCHE(A2;EQUIV(VRAI;ESTNUM(CNUM(STXT(A2;LIGNE($1:$255);1)));0)-2) =STXT(A2;EQUIV(VRAI;ESTNUM(CNUM(STXT(A2;LIGNE($1:$255);1)));0);99) Séparation majuscule=STXT(A1;1;EQUIV(VRAI;EXACT(STXT(A1;LIGNE($2:$255);1);MAJUSCULE(STXT(A1;LIGNE($2:$255);1)));0)) =STXT(A1;EQUIV(VRAI;EXACT(STXT(A1;LIGNE($2:$255);1);MAJUSCULE(STXT(A1;LIGNE($2:$255);1)));0)+1;999) Compter les AB + CD dans le champ A1:A5AB|AB|CD|SD|AB
=SOMMEPROD((NBCAR(A1:A5)-NBCAR(SUBSTITUE(A1:A5;{"AB"."CD"};"")))/2) Recherche du mot après la dateOn veut extraire le mot après la date 040310 (Shell) Paiement Carte 040310 Shell 2562 Montereau =GAUCHE(STXT(A1;EQUIV(VRAI;ESTNUM(CNUM(STXT(A1;LIGNE($1:$255);1)));0)+7;999);
|
|