Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Formules de haut vol

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 !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaites un beau WE 🙂

Alertes à nos ténors lol

J'ai une base de données avec environ 50.000 Prospects.

Les informations sont dans le désordre et je voudrais les avoir dans un ordre défini.
Evidemment, cela me semble impossible.
J'ai fait un tas de tentatives sans succès.

Je soumets ce tour de magie à nos ténors.
Je joins un fichier test avec les résultats attendus.

Un grand merci pour votre aide,
Amicalement,
lionel 🙂
 

Pièces jointes

Solution
Bonjour Lionel,

Tu sais bien qu'avec le VBA on peut presque tout faire 🙂

Ci joint le fichier qui utilise ces 2 fonctions VBA :
VB:
Function Mots_Minuscules(txt$)
Dim s, i%, x$, j%
txt = Application.Trim(Replace(Replace(txt, "d'", ""), "l'", "") )'épuration
s = Split(txt)
For i = 0 To UBound(s)
    x = s(i)
    For j = 1 To Len(x)
        If Mid(x, j, 1) = LCase(Mid(x, j, 1)) Then GoTo 1
    Next j
    s(i) = ""
1 Next i
Mots_Minuscules = Application.Trim(Join(s))
End Function

Function Mots_Majuscules(txt$)
Dim s, i%, x$, j%, d As Object
txt = Application.Trim(Replace(Replace(txt, "d'", ""), "l'", "") )'épuration
s = Split(txt)
For i = 0 To UBound(s)
    x = s(i)
    For j = 1 To Len(x)
        If Mid(x, j, 1) = LCase(Mid(x, j...
Bonjour Lionel

Si le fichier vient d'ailleurs
C'est ailleurs qui devrait respecter la façon d'agencer les données classiquement dans Excel
(en respectant les règles communément admises)
J'ai pris ce lien au hasard de ce que renvoie G.
https://www.maitrise-excel.com/9-regles-dor-parfaitement-gerer-vos-donnees-excel/
 
@mapomme,
Carine Bidulette CHERBOURG Christophe place mal le prénom Christophe
Désolé, c'est correct;
Je connais bien Carine, son nom de famille est Bidulette Christophe.
😂😂😂
Vous savez bien que ce problème est insoluble, mais on peut au moins nettoyer la phrase d'entrée, c'est tout ce qui est possible de faire.
D'où la remarque prémonitoire de Lionel :
Evidemment, cela me semble impossible.
 
Mapomme

Généralement, quand on mets le nez dedans.
C'est le monde de la félicité qui doit s'ouvrir.
Mais c'est vrai qu'ensuite plus tard dans la journée, on pourrait se trouver frustré
Dans ce cas, utiliser la seconde narine ou utiliser d'autres produits que la maréchaussée réprouve. 😉

Pour ma part, ce sera de l'andouillette à la moutarde.
D'ailleurs faut que j'allume le gaz 😉
 
Re-Mapomme,

Je sais c'est "salaud" de ma part de mettre ce fil dès le matin lol
Je me maudit Bon sang 🙂

Mais si : vous êtes des magiciens et tu en fait parti 🙂

Mais le fichier de Phil69970 apporte "presque" la solution la plus importante.

Truc SAINT ETIENNE Maurice SAINT ETIENNE
Machin RENNES Elisabeth RENNES
Il extrait les communes pour ces 2 1ères lignes il resterait juste à enlever les communes de la colonne B

L'exemple de ces 2 lignes représentes des milliers de lignes alors que les exemples des autres lignes ne représentent que 17 lignes que je pourrai modifier "à la main"

Je remets son fichier en pièce jointe
 

Pièces jointes

re
ouiap! j'en ai une
tu vas au bar et tu bois jusqu ’à oublier
quand tu aura oublié que tu a oublié, tu rentre à la maison (si c'est possible ou fait toi raccompagner ) et fait une bonne sieste
quand tu tu réveillera tu aura comme par miracle ta solution (pour info ce ne sera pas celle que tu attends) mais tu l'aura
😂😂😂😂😂
 
Bonjour Lionel,

Tu sais bien qu'avec le VBA on peut presque tout faire 🙂

Ci joint le fichier qui utilise ces 2 fonctions VBA :
VB:
Function Mots_Minuscules(txt$)
Dim s, i%, x$, j%
txt = Application.Trim(Replace(Replace(txt, "d'", ""), "l'", "") )'épuration
s = Split(txt)
For i = 0 To UBound(s)
    x = s(i)
    For j = 1 To Len(x)
        If Mid(x, j, 1) = LCase(Mid(x, j, 1)) Then GoTo 1
    Next j
    s(i) = ""
1 Next i
Mots_Minuscules = Application.Trim(Join(s))
End Function

Function Mots_Majuscules(txt$)
Dim s, i%, x$, j%, d As Object
txt = Application.Trim(Replace(Replace(txt, "d'", ""), "l'", "") )'épuration
s = Split(txt)
For i = 0 To UBound(s)
    x = s(i)
    For j = 1 To Len(x)
        If Mid(x, j, 1) = LCase(Mid(x, j, 1)) Then
            s(i) = ""
            If i Then If s(i - 1) = "" Then s(i - 1) = Chr(1)
            Exit For
        End If
Next j, i
'---suppression des doublons---
txt = Application.Trim(Join(s))
Set d = CreateObject("Scripting.Dictionary")
s = Split(txt, Chr(1))
For i = 0 To UBound(s)
    x = Trim(s(i))
    If x <> "" Then If Not d.exists(x) Then d(x) = "": Mots_Majuscules = Mots_Majuscules & ", " & x
Next i
Mots_Majuscules = Mid(Mots_Majuscules, 3)
End Function
A+
 

Pièces jointes

Bonjour Gérard 🙂
Merci d'être encore là pour moi.

C'est nickel pour les 2 1ères lignes ... je savais bien Magie et Cie lol
Un grand merci Gérard 🙂

Truc SAINT ETIENNE Maurice SAINT ETIENNE. Super ok
Machin RENNES Elisabeth RENNES..................... Super ok

L'exemple de ces 2 lignes représente des milliers de lignes alors que les exemples des autres lignes ne représentent que 17 lignes que je pourrai modifier "à la main"

Encore merci à vous pour m'avoir aidé et à Gérard pour la solution 🙂
lionel 🙂
 
Dernière édition:
re
ce que l'on essai de te dire tous depuis toute l'heure ,c'est que 99.99% pour 2 lignes peut se transformer en 2% pour 100 lignes
c'est une perte de temps sinon l'amusement de tenter de résoudre un problème qui n'en est pas un
en fait ,car solution aucune il y a ; sauf avoir un dictionnaire établi ou s'enrichissant ce qui avec excel est quasi impossible vu le nombre de chaîne différentes

de bon matin tu a mis le paquet hein 😂😂
 
Re-Bonjour Gérard,

Je viens de m'apercevoir que dans le fichier à traiter il y a aussi des lignes ou tout est en majuscules et du coup, les fonctions ne fonctionnent plus bien :

TRUC SAINT ETIENNE MAURICE
MACHIN RENNES ELISABETH

Désolé de ne pas l'avoir vu avant
lionel 🙂
 
- 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

Discussions similaires

Réponses
13
Affichages
825
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…