Excel - Power Query - Power Pivot - VBA

EX10 | Fonctions texte et date

Document fictif à usage pédagogique.

Énoncé

Contexte

  • Entreprise : Brévalis Industries (fictive).
  • Demande : nettoyer la liste des contacts clients saisie à la main dans Navéo et calculer les échéances et relances des factures.
  • Durée : 35 min | Niveau : intermédiaire.
  • Départ : EX10_depart.xlsx (Contacts : 60 contacts ; Factures : 20 factures d'août à octobre 2026) | Fin : EX10_corrige.xlsx.
  • Date du jour retenue pour le corrigé : 01/11/2026 (les résultats d'AUJOURDHUI varient selon le jour de l'exercice).

Travail demandé

  • Contacts : nom propre sans espaces superflus, nom en majuscules, prénom, libellé assemblé, téléphones au format 06 19 41 32 80.
  • Factures : mois en lettres, échéance à la fin du mois suivant, jours ouvrés restants, date de relance 5 jours ouvrés après l'échéance.

Simulation

  • Simulation interactive EX10 (9 étapes guidées, validation automatique) : voir la sous-page EX10 | Simulation.

Corrigé

E00 | Ouvrir le fichier de départ

  • Fichier > Ouvrir > Parcourir > Documents\excel-lab\depart\EX10_depart.xlsx.
💡
Capture : boîte Ouvrir, dossier depart, fichier EX10_depart.xlsx sélectionné

E01 | Contact propre

  • F2 : =NOMPROPRE(SUPPRESPACE(C2)), recopier. « gwenaël LE GOFF » devient « Gwenaël Le Goff ».
💡
Capture : avant et après nettoyage, colonnes C et F

E02 | Nom en majuscules

  • G2 : =MAJUSCULE(STXT(F2;CHERCHE(" ";F2)+1;50)), recopier.

E03 | Prénom

  • H2 : =GAUCHE(F2;CHERCHE(" ";F2)-1), recopier.

E04 | Libellé

  • I2 : =JOINDRE.TEXTE(" | ";VRAI;B2;G2;E2), recopier. Excel 2016 : =B2&" | "&G2&" | "&E2.

E05 | Téléphones (Ctrl+E)

  • J2 : saisir 06 19 41 32 80, Entrée, puis en J3 Ctrl+E (Données > Remplissage instantané).
  • Le résultat est figé : il ne suit pas les modifications de la colonne D.
💡
Capture : colonne J remplie, bouton d'options du remplissage instantané

E06 | Mois en lettres

  • Factures!E2 : =TEXTE(C2;"mmmm aaaa"), recopier.

E07 | Échéance

  • F2 : =FIN.MOIS(C2;1) (cellules déjà au format Date), recopier.

E08 | Jours ouvrés restants

  • G2 : =NB.JOURS.OUVRES(AUJOURDHUI();F2), recopier. Négatif si l'échéance est passée.
  • Une plage de jours fériés peut être ajoutée en 3e argument.

E09 | Relance

  • H2 : =SERIE.JOUR.OUVRE(F2;5), recopier.
  • F12 > EX10_corrige.
💡
Capture : colonne d'échéances et de relances

Points de vigilance

  • Le code de format de TEXTE dépend de la langue d'Excel (aaaa en français, yyyy en anglais).
  • Un nom composé de plusieurs mots (Le Goff) passe entièrement dans G grâce à STXT ; un prénom composé avec espace serait mal coupé.
  • Fonctions complémentaires à montrer : ANNEE, MOIS, AUJOURDHUI.

Pour aller plus loin

  • Remplissage instantané : Source
  • Fonction FIN.MOIS : Source
  • NB.JOURS.OUVRES : Source
  • Fonctions de date et d'heure : Source