Power Query Etude chaine de caractères

  • Initiateur de la discussion Initiateur de la discussion Flx1er
  • 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 !

Flx1er

XLDnaute Occasionnel
Bonjour,
Il m'est nécessaire de réaliser une étude sur des commentaires sur plusieurs milliers de lignes.
Une multitude de commentaires proviennent d'une suite de caractères saisie au hasard par l'utilisateur (par exemple : adfgm).

Avant de débuter l'analyse, je souhaiterais « épurer » la liste des commentaires. Je sollicite votre aide pour savoir s'il existe une technique, une méhode pour identifier ces suites de caractères aléatoires.
Ci-joint un exemple :
Si le commentaire est une chaine aléatoire
alors Statut commentaire = 0
sinon Statut commentaire = 1
Fin de si

Je suis conscient que cette demande est difficile, voire irréalisable, mais qui sait jamais.
En vous rermerciant
 

Pièces jointes

Bonjour,

Je te propose ce code

VB:
Sub VerifierOrthographeMotParMot()
    Dim objTab          As ListObject
    Dim rgCell          As Range
    Dim tabWords()      As String
    Dim strAWord        As String
    Dim i               As Long
    Dim boAtLeastOne    As Boolean

    Set objTab = ThisWorkbook.Sheets("Liste motifs").ListObjects("Tableau1")
   
    For Each rgCell In objTab.ListColumns(1).DataBodyRange ' Parcours des cellules de la première colonne du tableau
        boAtLeastOne = False
        tabWords = Split(rgCell.Value) ' Découper en tabWords (en supposant qu'ils sont séparés par des espaces)
        For i = LBound(tabWords) To UBound(tabWords)
            strAWord = Trim(tabWords(i))
            If Len(strAWord) > 1 Then
                If Application.CheckSpelling(Word:=strAWord) Then
                    boAtLeastOne = True
                    Exit For ' On peut arrêter si au moins un strAWord est correct
                End If
            End If
        Next i
        rgCell.Offset(0, 2).Value = IIf(boAtLeastOne, 1, 0) ' Écriture du résultat deux colonnes à droite
    Next rgCell
    Set objTab = Nothing
    MsgBox "Exécution terminée.", vbInformation
End Sub

La ligne 8 est 1 pour cf (confer)
La ligne 11 à 0, je ne connais pas "sau"
La ligne 27 et 34 à 1, mystère
 

Pièces jointes

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
Retour